Rubocop and Flycheck :
Flycheck is a emacs mode which helps
us with IDE like warnings in Emacs. I am already using
enh-ruby-mode which helps
with some of the syntax errors and stuff, but what is nice about
it integrates with
rubocop and shows
rubocop errors in-place in the editor.
A picture is worth thousand words so: ![rubocop with flycheck](https://f.cl.ly/items/1T173n0g351N381D2C2z/Screenshot%202013-12-19%2012.09.50.png "Rubocop stuff")
2. #### pry ––gem:
pry --gem opens a pry session with
./lib added to
$LOAD_PATH and 'require's the gem.
A good shortcut while working on gems and you want a quick console with the gem loaded.
ruby –S :
This can be used for running binaries which are present in local directory. For example,
if you are working on
bundler and want to run
bundle command with local version of
bundler rather than one installed globally you can use:
ruby -S ./bin/bundle -I ./lib/ install **The advantages are:** * `ruby -S` allows you to ignore `#!/usr/bin/env ruby` line and even if current version of ruby is X using `ruby -S` you can run the command with another version of Ruby. Especially useful for running scripts with JRuby, Rbx etc. * Based on `RUBYPATH` environment variable running a script via `ruby -S` (or `jruby -S`) allows `PATH` environment to be modified. For example running `jruby -S gem` does not run `gem` which is in current path, but it runs `gem` command provided by JRuby because JRuby defines different `RUBYPATH`.
4. #### Faster rbenv load :
If you are using
rbenv and there is a lag while opening a new shell, consider
updating the rbenv initializing line in your shell profile to:
eval "$(rbenv init - --no-rehash)" The `--no-rehash` flag tells `rbenv` to skip automatic rehash when opening a new shell and speeds up the process. This also speeds up VIM if you are using [vim-rails](https://github.com/tpope/vim-rails) or [vim-ruby](https://github.com/vim-ruby/vim-ruby).