Difference between revisions of "Ruby"
m |
|||
Line 4: | Line 4: | ||
=== Ruby on Rails === | === Ruby on Rails === | ||
+ | |||
+ | Let's configure Emacs as a productive environment for Rails development ! | ||
==== [[Rinari]] ==== | ==== [[Rinari]] ==== | ||
Line 12: | Line 14: | ||
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). | 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). | ||
+ | |||
+ | ==== Syntax checking: flymake ==== | ||
+ | |||
+ | See [[Flymake]], and install [https://github.com/purcell/flymake-ruby flymake-ruby] (in melpa). | ||
+ | |||
+ | To make sure it is started along with ruby mode, add: | ||
+ | |||
+ | <source lang="lisp"> | ||
+ | (require 'flymake-ruby) | ||
+ | (add-hook 'ruby-mode-hook 'flymake-ruby-load) | ||
+ | </source> | ||
+ | |||
+ | ==== Ruby shell inside Emacs ==== | ||
+ | |||
+ | [https://github.com/nonsequitur/inf-ruby 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: | ||
+ | |||
+ | <source lang="lisp"> | ||
+ | (global-set-key (kbd "C-c r r") 'inf-ruby) | ||
+ | </source> | ||
+ | |||
+ | ==== RVM integration ==== | ||
+ | |||
+ | Pick [https://github.com/senny/rvm.el 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 <code>.rvmrc</code> file. | ||
+ | |||
+ | For a keybinding: | ||
+ | |||
+ | <source lang="lisp"> | ||
+ | (global-set-key (kbd "C-c r a") 'rvm-activate-corresponding-ruby) | ||
+ | </source> | ||
+ | |||
+ | |||
+ | [[Category:Programming]] | ||
+ | [[Category:Programming_languages]] | ||
== External links == | == External links == |
Revision as of 09:44, 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 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 git repo.
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.
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).
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)