edge-state-machine 0.9.1 → 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
data/.travis.yml CHANGED
@@ -1 +1,2 @@
1
- rvm: 1.9.2
1
+ rvm: 1.9.3
2
+ services: mongodb
@@ -20,7 +20,7 @@ Gem::Specification.new do |s|
20
20
 
21
21
 
22
22
  # specify any dependencies here; for example:
23
- s.add_development_dependency 'rspec', '~> 2.6'
23
+ s.add_development_dependency 'rspec'
24
24
  s.add_development_dependency 'rake'
25
25
  s.add_development_dependency 'mongoid'
26
26
  s.add_development_dependency 'mongo_mapper'
@@ -1,3 +1,3 @@
1
1
  module EdgeStateMachine
2
- VERSION = "0.9.1"
2
+ VERSION = "1.0.0"
3
3
  end
@@ -49,7 +49,7 @@ describe 'active record state machine' do
49
49
  end
50
50
 
51
51
  it 'should raise error on transition to an invalid state' do
52
- expect { light.yellow_on }.should raise_error EdgeStateMachine::NoTransitionFound
52
+ expect { light.yellow_on }.to raise_error EdgeStateMachine::NoTransitionFound
53
53
  light.current_state.should == :off
54
54
  end
55
55
 
@@ -72,14 +72,14 @@ describe 'active record state machine' do
72
72
 
73
73
  it 'should raise exception when model validation fails on transition' do
74
74
  validating_light = ValidatingTrafficLight.create!
75
- expect {validating_light.reset!}.should raise_error ActiveRecord::RecordInvalid
75
+ expect {validating_light.reset!}.to raise_error ActiveRecord::RecordInvalid
76
76
  validating_light.red?.should == false
77
77
  validating_light.off?.should == true
78
78
  end
79
79
 
80
80
  it 'should state query method used in a validation condition' do
81
81
  validating_light = ConditionalValidatingTrafficLight.create!
82
- #expect {validating_light.reset!}.should raise_error ActiveRecord::RecordInvalid
82
+ #expect {validating_light.reset!}.to raise_error ActiveRecord::RecordInvalid
83
83
  validating_light.off?.should == true
84
84
  validating_light.red?.should == false
85
85
  end
@@ -135,7 +135,7 @@ describe 'active record state machine' do
135
135
  # control case, no timestamp has been set so we should expect default behaviour
136
136
  it 'should not raise any exceptions when moving to placed' do
137
137
  @order = create_order
138
- expect { @order.place! }.should_not raise_error
138
+ expect { @order.place! }.to_not raise_error
139
139
  @order.state.should == 'placed'
140
140
  end
141
141
  end
data/spec/event_spec.rb CHANGED
@@ -62,7 +62,7 @@ describe EdgeStateMachine::Event do
62
62
  event = EdgeStateMachine::Event.new(:event, @machine)
63
63
  obj = mock
64
64
  obj.stub!(:current_state).and_return(:open)
65
- expect {event.fire(obj)}.should raise_error EdgeStateMachine::NoTransitionFound
65
+ expect {event.fire(obj)}.to raise_error EdgeStateMachine::NoTransitionFound
66
66
  end
67
67
  end
68
68
  end
@@ -47,7 +47,7 @@ describe 'mongo_mapper state machine' do
47
47
  end
48
48
 
49
49
  it 'should raise error on transition to an invalid state' do
50
- expect { light.yellow_on }.should raise_error EdgeStateMachine::NoTransitionFound
50
+ expect { light.yellow_on }.to raise_error EdgeStateMachine::NoTransitionFound
51
51
  light.current_state.should == :off
52
52
  end
53
53
 
@@ -70,12 +70,12 @@ describe 'mongo_mapper state machine' do
70
70
 
71
71
  it 'should raise exception when model validation fails on transition' do
72
72
  validating_light = MongoMapperValidatingTrafficLight.create!
73
- expect {validating_light.reset!}.should raise_error MongoMapper::DocumentNotValid
73
+ expect {validating_light.reset!}.to raise_error MongoMapper::DocumentNotValid
74
74
  end
75
75
 
76
76
  it 'should state query method used in a validation condition' do
77
77
  validating_light = MongoMapperConditionalValidatingTrafficLight.create!
78
- #expect {validating_light.reset!}.should raise_error Mongoid::RecordInvalid
78
+ #expect {validating_light.reset!}.to raise_error Mongoid::RecordInvalid
79
79
  validating_light.off?.should == true
80
80
  end
81
81
 
@@ -127,7 +127,7 @@ describe 'mongo_mapper state machine' do
127
127
  # control case, no timestamp has been set so we should expect default behaviour
128
128
  it 'should not raise any exceptions when moving to placed' do
129
129
  @order = create_order
130
- expect { @order.place! }.should_not raise_error
130
+ expect { @order.place! }.to_not raise_error
131
131
  @order.state.should == 'placed'
132
132
  end
133
133
  end
@@ -3,7 +3,9 @@ require 'mongoid/mongoid_helper'
3
3
  describe DoubleMachineMongoid do
4
4
 
5
5
  before do
6
- Mongoid.master.collections.reject { |c| c.name =~ /^system\./ }.each(&:drop)
6
+ session = Moped::Session.new([ 'localhost:27017' ])
7
+ session.use 'edge-state-machine-test'
8
+ session.drop
7
9
  end
8
10
 
9
11
  let :double_machine do
@@ -0,0 +1,6 @@
1
+ test:
2
+ sessions:
3
+ default:
4
+ database: edge-state-machine-test
5
+ hosts:
6
+ - localhost:27017
@@ -9,7 +9,5 @@ $LOAD_PATH.unshift(File.dirname(__FILE__))
9
9
 
10
10
  require 'mongoid/edge-state-machine'
11
11
 
12
- Mongoid.configure do |config|
13
- config.master = Mongo::Connection.new.db('edge_state_machine_test')
14
- config.allow_dynamic_fields = false
15
- end
12
+ ENV['RACK_ENV'] = 'test'
13
+ Mongoid.load!(File.dirname(__FILE__) + '/mongoid.yml')
@@ -4,7 +4,9 @@ describe 'mongoid state machine' do
4
4
 
5
5
  context 'existing mongo document' do
6
6
  before do
7
- Mongoid.master.collections.reject { |c| c.name =~ /^system\./ }.each(&:drop)
7
+ session = Moped::Session.new([ 'localhost:27017' ])
8
+ session.use 'edge-state-machine-test'
9
+ session.drop
8
10
  end
9
11
 
10
12
  let :light do
@@ -47,7 +49,7 @@ describe 'mongoid state machine' do
47
49
  end
48
50
 
49
51
  it 'should raise error on transition to an invalid state' do
50
- expect { light.yellow_on }.should raise_error EdgeStateMachine::NoTransitionFound
52
+ expect { light.yellow_on }.to raise_error EdgeStateMachine::NoTransitionFound
51
53
  light.current_state.should == :off
52
54
  end
53
55
 
@@ -70,12 +72,12 @@ describe 'mongoid state machine' do
70
72
 
71
73
  it 'should raise exception when model validation fails on transition' do
72
74
  validating_light = MongoValidatingTrafficLight.create!
73
- expect {validating_light.reset!}.should raise_error Mongoid::Errors::Validations
75
+ expect {validating_light.reset!}.to raise_error Mongoid::Errors::Validations
74
76
  end
75
77
 
76
78
  it 'should state query method used in a validation condition' do
77
79
  validating_light = MongoConditionalValidatingTrafficLight.create!
78
- #expect {validating_light.reset!}.should raise_error Mongoid::RecordInvalid
80
+ #expect {validating_light.reset!}.to raise_error Mongoid::RecordInvalid
79
81
  validating_light.off?.should == true
80
82
  end
81
83
 
@@ -118,7 +120,9 @@ describe 'mongoid state machine' do
118
120
 
119
121
  context 'timestamp' do
120
122
  before do
121
- Mongoid.master.collections.reject { |c| c.name =~ /^system\./ }.each(&:drop)
123
+ session = Moped::Session.new([ 'localhost:27017' ])
124
+ session.use 'edge-state-machine-test'
125
+ session.drop
122
126
  end
123
127
 
124
128
  def create_order(state = nil)
@@ -128,7 +132,7 @@ describe 'mongoid state machine' do
128
132
  # control case, no timestamp has been set so we should expect default behaviour
129
133
  it 'should not raise any exceptions when moving to placed' do
130
134
  @order = create_order
131
- expect { @order.place! }.should_not raise_error
135
+ expect { @order.place! }.to_not raise_error
132
136
  @order.state.should == 'placed'
133
137
  end
134
138
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: edge-state-machine
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.9.1
4
+ version: 1.0.0
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,22 +9,27 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-02-18 00:00:00.000000000 Z
12
+ date: 2012-09-25 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: rspec
16
- requirement: &17648880 !ruby/object:Gem::Requirement
16
+ requirement: !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
- - - ~>
19
+ - - ! '>='
20
20
  - !ruby/object:Gem::Version
21
- version: '2.6'
21
+ version: '0'
22
22
  type: :development
23
23
  prerelease: false
24
- version_requirements: *17648880
24
+ version_requirements: !ruby/object:Gem::Requirement
25
+ none: false
26
+ requirements:
27
+ - - ! '>='
28
+ - !ruby/object:Gem::Version
29
+ version: '0'
25
30
  - !ruby/object:Gem::Dependency
26
31
  name: rake
27
- requirement: &17648460 !ruby/object:Gem::Requirement
32
+ requirement: !ruby/object:Gem::Requirement
28
33
  none: false
29
34
  requirements:
30
35
  - - ! '>='
@@ -32,10 +37,15 @@ dependencies:
32
37
  version: '0'
33
38
  type: :development
34
39
  prerelease: false
35
- version_requirements: *17648460
40
+ version_requirements: !ruby/object:Gem::Requirement
41
+ none: false
42
+ requirements:
43
+ - - ! '>='
44
+ - !ruby/object:Gem::Version
45
+ version: '0'
36
46
  - !ruby/object:Gem::Dependency
37
47
  name: mongoid
38
- requirement: &17648000 !ruby/object:Gem::Requirement
48
+ requirement: !ruby/object:Gem::Requirement
39
49
  none: false
40
50
  requirements:
41
51
  - - ! '>='
@@ -43,10 +53,15 @@ dependencies:
43
53
  version: '0'
44
54
  type: :development
45
55
  prerelease: false
46
- version_requirements: *17648000
56
+ version_requirements: !ruby/object:Gem::Requirement
57
+ none: false
58
+ requirements:
59
+ - - ! '>='
60
+ - !ruby/object:Gem::Version
61
+ version: '0'
47
62
  - !ruby/object:Gem::Dependency
48
63
  name: mongo_mapper
49
- requirement: &17647580 !ruby/object:Gem::Requirement
64
+ requirement: !ruby/object:Gem::Requirement
50
65
  none: false
51
66
  requirements:
52
67
  - - ! '>='
@@ -54,10 +69,15 @@ dependencies:
54
69
  version: '0'
55
70
  type: :development
56
71
  prerelease: false
57
- version_requirements: *17647580
72
+ version_requirements: !ruby/object:Gem::Requirement
73
+ none: false
74
+ requirements:
75
+ - - ! '>='
76
+ - !ruby/object:Gem::Version
77
+ version: '0'
58
78
  - !ruby/object:Gem::Dependency
59
79
  name: bson_ext
60
- requirement: &17647160 !ruby/object:Gem::Requirement
80
+ requirement: !ruby/object:Gem::Requirement
61
81
  none: false
62
82
  requirements:
63
83
  - - ! '>='
@@ -65,10 +85,15 @@ dependencies:
65
85
  version: '0'
66
86
  type: :development
67
87
  prerelease: false
68
- version_requirements: *17647160
88
+ version_requirements: !ruby/object:Gem::Requirement
89
+ none: false
90
+ requirements:
91
+ - - ! '>='
92
+ - !ruby/object:Gem::Version
93
+ version: '0'
69
94
  - !ruby/object:Gem::Dependency
70
95
  name: sqlite3-ruby
71
- requirement: &17646740 !ruby/object:Gem::Requirement
96
+ requirement: !ruby/object:Gem::Requirement
72
97
  none: false
73
98
  requirements:
74
99
  - - ! '>='
@@ -76,10 +101,15 @@ dependencies:
76
101
  version: '0'
77
102
  type: :development
78
103
  prerelease: false
79
- version_requirements: *17646740
104
+ version_requirements: !ruby/object:Gem::Requirement
105
+ none: false
106
+ requirements:
107
+ - - ! '>='
108
+ - !ruby/object:Gem::Version
109
+ version: '0'
80
110
  - !ruby/object:Gem::Dependency
81
111
  name: activerecord
82
- requirement: &17646320 !ruby/object:Gem::Requirement
112
+ requirement: !ruby/object:Gem::Requirement
83
113
  none: false
84
114
  requirements:
85
115
  - - ! '>='
@@ -87,7 +117,12 @@ dependencies:
87
117
  version: '0'
88
118
  type: :development
89
119
  prerelease: false
90
- version_requirements: *17646320
120
+ version_requirements: !ruby/object:Gem::Requirement
121
+ none: false
122
+ requirements:
123
+ - - ! '>='
124
+ - !ruby/object:Gem::Version
125
+ version: '0'
91
126
  description: Edge State Machine is a complete state machine solution. It offers support
92
127
  for ActiveRecord, Mongoid and MongoMapper for persistence.
93
128
  email:
@@ -131,6 +166,7 @@ files:
131
166
  - spec/mongo_mapper/samples/order.rb
132
167
  - spec/mongo_mapper/samples/traffic_light.rb
133
168
  - spec/mongoid/double_machine_spec.rb
169
+ - spec/mongoid/mongoid.yml
134
170
  - spec/mongoid/mongoid_helper.rb
135
171
  - spec/mongoid/mongoid_spec.rb
136
172
  - spec/mongoid/samples/double_machine.rb
@@ -168,8 +204,44 @@ required_rubygems_version: !ruby/object:Gem::Requirement
168
204
  version: '0'
169
205
  requirements: []
170
206
  rubyforge_project: edge-state-machine
171
- rubygems_version: 1.8.10
207
+ rubygems_version: 1.8.24
172
208
  signing_key:
173
209
  specification_version: 3
174
210
  summary: Edge State Machine
175
- test_files: []
211
+ test_files:
212
+ - spec/active_record/active_record_helper.rb
213
+ - spec/active_record/active_record_spec.rb
214
+ - spec/active_record/double_machine_spec.rb
215
+ - spec/active_record/migrations/create_double_machine.rb
216
+ - spec/active_record/migrations/create_orders.rb
217
+ - spec/active_record/migrations/create_traffic_lights.rb
218
+ - spec/active_record/samples/double_machine.rb
219
+ - spec/active_record/samples/order.rb
220
+ - spec/active_record/samples/traffic_light.rb
221
+ - spec/event_spec.rb
222
+ - spec/machine_spec.rb
223
+ - spec/mongo_mapper/double_machine_spec.rb
224
+ - spec/mongo_mapper/mongo_mapper_helper.rb
225
+ - spec/mongo_mapper/mongo_mapper_spec.rb
226
+ - spec/mongo_mapper/samples/double_machine.rb
227
+ - spec/mongo_mapper/samples/order.rb
228
+ - spec/mongo_mapper/samples/traffic_light.rb
229
+ - spec/mongoid/double_machine_spec.rb
230
+ - spec/mongoid/mongoid.yml
231
+ - spec/mongoid/mongoid_helper.rb
232
+ - spec/mongoid/mongoid_spec.rb
233
+ - spec/mongoid/samples/double_machine.rb
234
+ - spec/mongoid/samples/order.rb
235
+ - spec/mongoid/samples/traffic_light.rb
236
+ - spec/non_persistent/double_machine_spec.rb
237
+ - spec/non_persistent/non_persistent_helper.rb
238
+ - spec/non_persistent/non_persistent_spec.rb
239
+ - spec/non_persistent/on_off_switch_spec.rb
240
+ - spec/non_persistent/samples/dice.rb
241
+ - spec/non_persistent/samples/double_machine.rb
242
+ - spec/non_persistent/samples/microwave.rb
243
+ - spec/non_persistent/samples/on_off_switch.rb
244
+ - spec/non_persistent/samples/user.rb
245
+ - spec/spec_helper.rb
246
+ - spec/state_spec.rb
247
+ - spec/transition_spec.rb