# RSpec Buddy
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.
## Features
### Inherited from Better RSpec
- command and shortcut for toggling between implementation/spec files ([see demo](#toggling-between-implementationspec))
- syntax highlighting
### RSpec Buddy exclusive ⭐️
- `describe` block generation for each of your classes and methods when creating a new spec file ([see demo](#toggling-between-implementationspec))
- configuration file
- some handy little tweaks
#### Toggling between implementation/spec

The default binding is `super+.`.
```json
{
"keys": ["super+."],
"command": "rspec_toggle"
}
```
You can change it to whatever you want by adding the following snippet to your Keybindings file.
```json
{
"keys": ["ctrl+alt+down"],
"command": "rspec_toggle"
}
```
#### Describe block generation
- infers the class/module name from the implementation file path to put at `RSpec.describe`
- creates a `describe` block for each method from the implementation file
#### Configuration 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/`).
#### Handy tweaks
- does not add `require 'spec_helper'`/`require 'rails_helper'` to spec files as you can keep your tests clean by putting them in the `.rspec` file.
- remove all snippets from the Better RSpec as I believe you should create the ones you like.
#### Syntax Detection
The best way of setting the syntax automatically is using the [ApplySyntax](https://sublime.wbond.net/packages/ApplySyntax) package. Just install it and you're done!
## Installation
### Package Control
1. Open the Command Palette (Super+Shift+p) and choose “*Install Package*”
2. Select “*RSpec Buddy*” and press Enter
### Using Git
1. Change to your Sublime Text `Packages` directory
2. Clone repository `git clone https://github.com/glaucocustodio/rspec-buddy-for-sublime-text.git 'RSpec Buddy'`
## Similar packages
- [Minitest Buddy](https://github.com/glaucocustodio/minitest-buddy-for-sublime-text)
## License
The gem is available as open source under the terms of the MIT License.