Sublime Text 2 plugin for switching between Models, Controllers and Views
Python
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
lib
Default (Linux).sublime-keymap
Default (OSX).sublime-keymap
Default (Windows).sublime-keymap
Main.sublime-menu
README.md
rails_switcher.py

README.md

Rails File Switcher for Sublime Text 2

Rails File Switcher is a plugin for Sublime Text 2 that allows you to switch between Models, Controllers and Views. And how!

No popups, just immediately switches to the related file.

Commands

open_related_rails_model (super+1)

  • Opens the related model.
  • If you put the caret inside a model's name (like Po│st) and run the command, it will open the model from any place in the application. This works for models, services and mailers (examples: Post, PostService, PostMailer).

open_related_rails_controller (super+2)

  • Opens the related controller from a model and rspec model & controller specs.
  • Opens the related controller from a view. Centers the screen at the action definition. If Vintage is enabled, it also moves the caret to the action definition.

open_related_rails_view (super+3)

  • Opens the related view from a controller. You need to put the caret inside the controller action for it to work.

open_related_rspec_model (super+4)

  • Opens the related rspec model spec.
  • If you put the caret inside a model's name (like Po│st) and run the command, it will open the model spec from any place in the application.

open_related_rspec_controller (super+5)

  • Opens the related rspec controller spec from a model and rspec model.

Bindings

Here are the default bindings. You can change them in Preferences > Key Bindings - User

{ "keys": ["super+1"], "command": "open_related_rails_model" },
{ "keys": ["super+2"], "command": "open_related_rails_controller" },
{ "keys": ["super+3"], "command": "open_related_rails_view" },
{ "keys": ["super+4"], "command": "open_related_rspec_model" },
{ "keys": ["super+5"], "command": "open_related_rspec_controller" },

How is it different from Rails Related Files and other similar plugins?

Rails Related Files shows you a list of related files which you can choose from.

Rails File Switcher switches between MVC files instantly. If you are in your User model and you press ⌘+2 (if that's your binding), you will instantly see UsersController.

Contributing

Pull requests are appreciated. If something isn't working, you can fix and send a pull request or simply create an issue to let me know of the bugs.

CHANGELOG

July 2, 2013

  • Add support for services and mailers.

June 24, 2013

  • Add support for singularly-named controllers.
  • Add support for jumping from a namespaced controller to a non-namespaced model.
  • Add support for RSpec models and controllers.
  • Show file creation popup for all types when the file doesn't exist, not only for views.

June 18, 2013

  • Add support for ST3, use branch python3 (by @dsnipe)

March 14, 2013

  • Allow creating views when switching to a non-existent view.

March 7, 2013

  • Include key bindings by default (by @deiga).

January 27, 2013

  • Add support for namespaces.

January 26, 2013

  • When switching from a view to the controller the screen is centered at the action definition. If Vintage is enabled, it also moves the caret to the action definition.

January 21, 2013

  • Allow switching to model by putting the caret (and running open_related_rails_model) inside its name anywhere in the application.

January 18, 2013

  • Make it work when there are multiple apps opened in the side bar (previously would look for files only in the first app). Thanks to @ccodre for pointing out.

December 25, 2012

  • Initial release

License

The plugin is released under the MIT License