Sha256: 1a2a773844cc32b64c19c6a9cafe7410adb4b0dfd922af9d44d16555a12a7fee
Contents?: true
Size: 1.55 KB
Versions: 5
Compression:
Stored size: 1.55 KB
Contents
# state_machine_rspec [![Build Status](https://travis-ci.org/modocache/state_machine_rspec.png?branch=master)](https://travis-ci.org/modocache/state_machine_rspec) Custom matchers for [pluginaweek/state_machine](https://github.com/pluginaweek/state_machine). ## Matchers ### `have_state` & `reject_state` ```ruby describe Vehicle do it { should have_states :parked, :idling, :stalled, :first_gear, :second_gear, :third_gear } it { should reject_state :flying } it { should have_states :active, :off, on: :alarm_state } it { should have_state :active, on: :alarm_state, value: 1 } it { should reject_states :broken, :ringing, on: :alarm_state } end ``` ### `handle_event` & `reject_event` ```ruby describe Vehicle do it { should handle_events :shift_down, :crash, when: :third_gear } it { should handle_events :enable_alarm, :disable_alarm, when: :active, on: :alarm_state } it { should reject_events :park, :ignite, :idle, :shift_up, :repair, when: :third_gear } end ``` ## Installation Add these lines to your application's Gemfile: ```ruby group :test do gem 'state_machine_rspec' end ``` And include the matchers in `spec/spec_helper.rb`: ```ruby RSpec.configure do |config| config.include StateMachineRspec::Matchers end ``` ## Contributing 1. Fork it 2. Create your feature branch (`git checkout -b my-new-feature`) 3. Commit your changes (`git commit -am 'Add some feature'`) 4. Push to the branch (`git push origin my-new-feature`) 5. Create new Pull Request
Version data entries
5 entries across 5 versions & 2 rubygems
Version | Path |
---|---|
state_machines_rspec-0.3.0 | README.md |
state_machine_rspec-0.2.0 | README.md |
state_machine_rspec-0.1.3 | README.md |
state_machine_rspec-0.1.2 | README.md |
state_machine_rspec-0.1.1 | README.md |