Difference between revisions of "Ruby"

From WikEmacs
Jump to navigation Jump to search
Line 9: Line 9:
 
==== [[Rinari]] ====
 
==== [[Rinari]] ====
  
Rinari stands for Rinari Is Not A Rails IDE. It is an Emacs minor mode for Rails that is actively maintained. For best results install it from the [https://github.com/eschulte/rinari git repo].
+
[https://github.com/eschulte/rinari Rinari] (in melpa) stands for Rinari Is Not A Rails IDE. It is an Emacs minor mode for Rails that is actively maintained.
  
The official documentation is alright, but for best information check out the source. It allows for 'jumps' between Model, View, Controller and their RSpec examples and Test Unit tests, as well as Cucumber steps and features.
+
Rinari features:
  
Also, it allows for the running of a console session with full Rails application loaded for interactive use, SQL console, starting of the web server (rails server).
+
* for 'jumps' between Model, View, Controller and their RSpec examples and Test Unit tests,  
 +
* as well as Cucumber steps and features.
 +
* running of a console session with full Rails application loaded for interactive use,  
 +
* SQL console,  
 +
* starting of the web server (rails server).
 +
 
 +
The [http://rinari.rubyforge.org/ official documentation] is alright, but for best information check out the source.
  
 
==== Syntax checking: flymake ====
 
==== Syntax checking: flymake ====

Revision as of 09:48, 17 May 2017

ruby-mode

ruby-mode provides basic font-locking, indentation and navigation support for Ruby source code. It was first included in Emacs 23 (previously it was a third party package, maintained by Ruby's developers). While ruby-mode is fairly barebone package it could be augmented by a multitude of minor modes such as ruby-end, ...

Ruby on Rails

Let's configure Emacs as a productive environment for Rails development !

Rinari

Rinari (in melpa) stands for Rinari Is Not A Rails IDE. It is an Emacs minor mode for Rails that is actively maintained.

Rinari features:

  • for 'jumps' between Model, View, Controller and their RSpec examples and Test Unit tests,
  • as well as Cucumber steps and features.
  • running of a console session with full Rails application loaded for interactive use,
  • SQL console,
  • starting of the web server (rails server).

The official documentation is alright, but for best information check out the source.

Syntax checking: flymake

See Flymake, and install flymake-ruby (in melpa).

To make sure it is started along with ruby mode, add:

(require 'flymake-ruby)
(add-hook 'ruby-mode-hook 'flymake-ruby-load)

Ruby shell inside Emacs

inf-ruby provides a REPL buffer connected to a Ruby subprocess. It is available through the package manager. To bind to a shortcut, do something like:

(global-set-key (kbd "C-c r r") 'inf-ruby)

RVM integration

Pick rvm.el. Once installed you will just have to call rvm-activate-corresponding-ruby and rvm.el will automatically pick up your ruby version and gemset from your .rvmrc file.

For a keybinding:

(global-set-key (kbd "C-c r a") 'rvm-activate-corresponding-ruby)

External links

ruby-mode at Ruby's Subversion repo