A small Sublime Text package to boost your productivity when using RSpec.
A modified fork of https://github.com/fnando/better-rspec-for-sublime-text.
- command and shortcut for toggling between implementation/spec files (see demo)
- syntax highlighting
describeblock generation for each of your classes and methods when creating a new spec file (see demo)- configuration file
- some handy little tweaks
The default binding is super+..
{
"keys": ["super+."],
"command": "rspec_toggle"
}You can change it to whatever you want by adding the following snippet to your Keybindings file.
{
"keys": ["ctrl+alt+down"],
"command": "rspec_toggle"
}- infers the class/module name from the implementation file path to put at
RSpec.describe - creates a
describeblock for each method from the implementation file
Reads an optional .rspec-buddy file so you can customize the path to ignore when looking for spec and implementation files
Suppose you have the following structure:
project/
lib/
whatever/
file.rb
spec/
file_spec.rb
By invoking the rspec_toggle command, this plugin will look for the spec file at project/spec/whatever/file_spec.rb(by default lib/ will always be ignored).
But you can create a project/.rspec-buddy file with the content lib/whatever/ for instance, then, the plugin will look for the spec file at project/spec/file_spec.rb (ignoring lib/whatever/).
- does not add
require 'spec_helper'/require 'rails_helper'to spec files as you can keep your tests clean by putting them in the.rspecfile. - remove all snippets from the Better RSpec as I believe you should create the ones you like.
The best way of setting the syntax automatically is using the ApplySyntax package. Just install it and you're done!
- Open the Command Palette (Super+Shift+p) and choose “Install Package”
- Select “RSpec Buddy” and press Enter
- Change to your Sublime Text
Packagesdirectory - Clone repository
git clone https://github.com/glaucocustodio/rspec-buddy-for-sublime-text.git 'RSpec Buddy'
The gem is available as open source under the terms of the MIT License.
