aasm 3.0.23 → 3.0.24

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: 0a95f430c49bb639c7f0df66dc4ce2998636ef6a
4
+ data.tar.gz: 67293708b7b6fbaae038e97d229367d0ca074aa8
5
+ SHA512:
6
+ metadata.gz: 90707f9d64e5e03e9b58acde6081c9fe5239ff5599ece71a1909abad871dfdb99dfe8d1d63fae89a94d6f5a908754649387cb792f150d09a94f3a3acab2f2714
7
+ data.tar.gz: 20f34ec847d1fe22c59a7e077c5ccdd54f5ab6483dbab086544c7f7995f8df408a018344248ed9017ce9f8ed23f5d64dfe549855700d68c8797911edae9ceafc
@@ -1,5 +1,9 @@
1
1
  # CHANGELOG
2
2
 
3
+ ## 3.0.24
4
+
5
+ * added support for event blocks (thanks to [@Intrepidd](https://github.com/Intrepidd))
6
+
3
7
  ## 3.0.23
4
8
 
5
9
  * added support for `after_commit` callback (transaction support) (thanks to [@tisba](https://github.com/tisba))
data/README.md CHANGED
@@ -69,6 +69,15 @@ job.may_run? # => false
69
69
  job.run # => false
70
70
  ```
71
71
 
72
+ When firing an event, you can pass a block to the method, it will be called only if
73
+ the transition succeeds :
74
+
75
+ ```ruby
76
+ job.run do
77
+ job.user.notify_job_ran # Will be called if job.may_run? is true
78
+ end
79
+ ```
80
+
72
81
  ### Callbacks
73
82
 
74
83
  You can define a number of callbacks for your transitions. These methods will be
@@ -13,19 +13,21 @@ Gem::Specification.new do |s|
13
13
  s.date = Time.now
14
14
  s.licenses = ["MIT"]
15
15
 
16
- s.add_development_dependency 'activerecord', '3.2.12'
17
- # s.add_development_dependency 'activerecord', '4.0.0.rc1'
16
+ s.add_development_dependency 'activerecord', '3.2.15'
17
+ # s.add_development_dependency 'activerecord', '4.0.1'
18
18
 
19
19
  s.add_development_dependency 'mongoid' if Gem::Version.create(RUBY_VERSION.dup) >= Gem::Version.create('1.9.3')
20
20
  s.add_development_dependency 'rake'
21
21
  s.add_development_dependency 'sdoc'
22
- s.add_development_dependency 'rspec', '~> 2.0'
22
+ s.add_development_dependency 'rspec', '~> 2.14'
23
23
  s.add_development_dependency 'rr'
24
24
  s.add_development_dependency 'sqlite3'
25
25
  s.add_development_dependency 'minitest'
26
26
  # s.add_development_dependency 'debugger'
27
27
  # s.add_development_dependency 'pry'
28
28
  s.add_development_dependency 'ruby-debug-completion'
29
+
30
+ s.add_development_dependency 'mime-types', '~> 1.25' # needed by coveralls (>= 2.0 needs Ruby >=1.9.2)
29
31
  s.add_development_dependency 'coveralls'
30
32
 
31
33
  s.files = `git ls-files`.split("\n")
@@ -141,7 +141,7 @@ module AASM
141
141
 
142
142
  private
143
143
 
144
- def aasm_fire_event(event_name, options, *args)
144
+ def aasm_fire_event(event_name, options, *args, &block)
145
145
  event = self.class.aasm_events[event_name]
146
146
  begin
147
147
  old_state = aasm.state_object_for_name(aasm.current_state)
@@ -151,7 +151,7 @@ private
151
151
  event.fire_callbacks(:before, self)
152
152
 
153
153
  if new_state_name = event.fire(self, *args)
154
- fired(event, old_state, new_state_name, options)
154
+ fired(event, old_state, new_state_name, options, &block)
155
155
  else
156
156
  failed(event_name, old_state)
157
157
  end
@@ -174,9 +174,13 @@ private
174
174
  persist_successful = true
175
175
  if persist
176
176
  persist_successful = aasm.set_current_state_with_persistence(new_state_name)
177
- event.fire_callbacks(:success, self) if persist_successful
177
+ if persist_successful
178
+ yield if block_given?
179
+ event.fire_callbacks(:success, self)
180
+ end
178
181
  else
179
182
  aasm.current_state = new_state_name
183
+ yield if block_given?
180
184
  end
181
185
 
182
186
  if persist_successful
@@ -57,12 +57,12 @@ module AASM
57
57
  aasm.may_fire_event?(name, *args)
58
58
  end
59
59
 
60
- @clazz.send(:define_method, "#{name.to_s}!") do |*args|
61
- aasm_fire_event(name, {:persist => true}, *args)
60
+ @clazz.send(:define_method, "#{name.to_s}!") do |*args, &block|
61
+ aasm_fire_event(name, {:persist => true}, *args, &block)
62
62
  end
63
63
 
64
- @clazz.send(:define_method, "#{name.to_s}") do |*args|
65
- aasm_fire_event(name, {:persist => false}, *args)
64
+ @clazz.send(:define_method, "#{name.to_s}") do |*args, &block|
65
+ aasm_fire_event(name, {:persist => false}, *args, &block)
66
66
  end
67
67
  end
68
68
 
@@ -131,7 +131,7 @@ module AASM
131
131
  aasm.enter_initial_state if send(self.class.aasm_column).blank?
132
132
  end
133
133
 
134
- def aasm_fire_event(name, options, *args)
134
+ def aasm_fire_event(name, options, *args, &block)
135
135
  success = self.class.transaction(:requires_new => true) do
136
136
  super
137
137
  end
@@ -1,3 +1,3 @@
1
1
  module AASM
2
- VERSION = "3.0.23"
2
+ VERSION = "3.0.24"
3
3
  end
@@ -51,19 +51,19 @@ describe 'event callbacks' do
51
51
  it "should run error_callback if an exception is raised and error_callback defined" do
52
52
  def @foo.error_callback(e); end
53
53
 
54
- @foo.stub!(:enter).and_raise(e=StandardError.new)
54
+ @foo.stub(:enter).and_raise(e=StandardError.new)
55
55
  @foo.should_receive(:error_callback).with(e)
56
56
 
57
57
  @foo.safe_close!
58
58
  end
59
59
 
60
60
  it "should raise NoMethodError if exceptionis raised and error_callback is declared but not defined" do
61
- @foo.stub!(:enter).and_raise(StandardError)
61
+ @foo.stub(:enter).and_raise(StandardError)
62
62
  lambda{@foo.safe_close!}.should raise_error(NoMethodError)
63
63
  end
64
64
 
65
65
  it "should propagate an error if no error callback is declared" do
66
- @foo.stub!(:enter).and_raise("Cannot enter safe")
66
+ @foo.stub(:enter).and_raise("Cannot enter safe")
67
67
  lambda{@foo.close!}.should raise_error(StandardError, "Cannot enter safe")
68
68
  end
69
69
  end
@@ -85,7 +85,7 @@ describe 'event callbacks' do
85
85
  end
86
86
 
87
87
  it 'should not call it for failing bang fire' do
88
- @foo.aasm.stub!(:set_current_state_with_persistence).and_return(false)
88
+ @foo.aasm.stub(:set_current_state_with_persistence).and_return(false)
89
89
  @foo.should_not_receive(:aasm_event_fired)
90
90
  @foo.close!
91
91
  end
@@ -108,7 +108,7 @@ describe 'event callbacks' do
108
108
  end
109
109
 
110
110
  it 'should not call it if persist fails for bang fire' do
111
- @foo.aasm.stub!(:set_current_state_with_persistence).and_return(false)
111
+ @foo.aasm.stub(:set_current_state_with_persistence).and_return(false)
112
112
  @foo.should_receive(:aasm_event_failed)
113
113
  @foo.close!
114
114
  end
@@ -60,8 +60,8 @@ end
60
60
 
61
61
  describe 'firing an event' do
62
62
  it 'should return nil if the transitions are empty' do
63
- obj = mock('object')
64
- obj.stub!(:aasm_current_state)
63
+ obj = double('object')
64
+ obj.stub(:aasm_current_state)
65
65
 
66
66
  event = AASM::Event.new(:event)
67
67
  event.fire(obj).should be_nil
@@ -72,8 +72,8 @@ describe 'firing an event' do
72
72
  transitions :to => :closed, :from => [:open, :received]
73
73
  end
74
74
 
75
- obj = mock('object')
76
- obj.stub!(:aasm_current_state).and_return(:open)
75
+ obj = double('object')
76
+ obj.stub(:aasm_current_state).and_return(:open)
77
77
 
78
78
  event.fire(obj).should == :closed
79
79
  end
@@ -83,8 +83,8 @@ describe 'firing an event' do
83
83
  transitions :to => :closed, :from => [:open, :received], :guard => :guard_fn
84
84
  end
85
85
 
86
- obj = mock('object')
87
- obj.stub!(:aasm_current_state).and_return(:open)
86
+ obj = double('object')
87
+ obj.stub(:aasm_current_state).and_return(:open)
88
88
  obj.should_receive(:guard_fn).with('arg1', 'arg2').and_return(true)
89
89
 
90
90
  event.fire(obj, nil, 'arg1', 'arg2').should == :closed
@@ -33,13 +33,13 @@ describe "instance methods" do
33
33
  end
34
34
 
35
35
  it "should return the aasm column when not new and the aasm_column is not nil" do
36
- gate.stub!(:new_record?).and_return(false)
36
+ gate.stub(:new_record?).and_return(false)
37
37
  gate.aasm_state = "state"
38
38
  gate.aasm_current_state.should == :state
39
39
  end
40
40
 
41
41
  it "should allow a nil state" do
42
- gate.stub!(:new_record?).and_return(false)
42
+ gate.stub(:new_record?).and_return(false)
43
43
  gate.aasm_state = nil
44
44
  gate.aasm_current_state.should be_nil
45
45
  end
@@ -50,7 +50,7 @@ describe "instance methods" do
50
50
  end
51
51
 
52
52
  it "should not call aasm_ensure_initial_state on validation before update" do
53
- gate.stub!(:new_record?).and_return(false)
53
+ gate.stub(:new_record?).and_return(false)
54
54
  gate.should_not_receive(:aasm_ensure_initial_state)
55
55
  gate.valid?
56
56
  end
@@ -38,7 +38,7 @@ describe AASM::State do
38
38
  it 'should send a message to the record for an action if the action is present as a symbol' do
39
39
  state = new_state(:entering => :foo)
40
40
 
41
- record = mock('record')
41
+ record = double('record')
42
42
  record.should_receive(:foo)
43
43
 
44
44
  state.fire_callbacks(:entering, record)
@@ -47,7 +47,7 @@ describe AASM::State do
47
47
  it 'should send a message to the record for an action if the action is present as a string' do
48
48
  state = new_state(:entering => 'foo')
49
49
 
50
- record = mock('record')
50
+ record = double('record')
51
51
  record.should_receive(:foo)
52
52
 
53
53
  state.fire_callbacks(:entering, record)
@@ -56,7 +56,7 @@ describe AASM::State do
56
56
  it 'should send a message to the record for each action' do
57
57
  state = new_state(:entering => [:a, :b, "c", lambda {|r| r.foobar }])
58
58
 
59
- record = mock('record')
59
+ record = double('record')
60
60
  record.should_receive(:a)
61
61
  record.should_receive(:b)
62
62
  record.should_receive(:c)
@@ -68,7 +68,7 @@ describe AASM::State do
68
68
  it "should stop calling actions if one of them raises :halt_aasm_chain" do
69
69
  state = new_state(:entering => [:a, :b, :c])
70
70
 
71
- record = mock('record')
71
+ record = double('record')
72
72
  record.should_receive(:a)
73
73
  record.should_receive(:b).and_throw(:halt_aasm_chain)
74
74
  record.should_not_receive(:c)
@@ -79,7 +79,7 @@ describe AASM::State do
79
79
  it 'should call a proc, passing in the record for an action if the action is present' do
80
80
  state = new_state(:entering => Proc.new {|r| r.foobar})
81
81
 
82
- record = mock('record')
82
+ record = double('record')
83
83
  record.should_receive(:foobar)
84
84
 
85
85
  state.fire_callbacks(:entering, record)
@@ -26,6 +26,29 @@ describe 'transitions' do
26
26
  silencer.should be_smiling
27
27
  end
28
28
 
29
+ it 'should call the block when success' do
30
+ silencer = Silencer.new
31
+ success = false
32
+ lambda {
33
+ silencer.smile_any! do
34
+ success = true
35
+ end
36
+ }.should change { success }.to(true)
37
+ end
38
+
39
+ it 'should not call the block when failure' do
40
+ silencer = Silencer.new
41
+ success = false
42
+ lambda {
43
+ silencer.smile! do
44
+ success = true
45
+ end
46
+ }.should_not change { success }.to(true)
47
+ end
48
+
49
+ end
50
+
51
+ describe 'blocks' do
29
52
  end
30
53
 
31
54
  describe AASM::Transition do
@@ -42,9 +65,9 @@ describe AASM::Transition do
42
65
  opts = {:from => 'foo', :to => 'bar', :guard => 'g'}
43
66
  st = AASM::Transition.new(opts)
44
67
 
45
- obj = mock('object')
46
- obj.stub!(:from).and_return(opts[:from])
47
- obj.stub!(:to).and_return(opts[:to])
68
+ obj = double('object')
69
+ obj.stub(:from).and_return(opts[:from])
70
+ obj.stub(:to).and_return(opts[:to])
48
71
 
49
72
  st.should == obj
50
73
  end
@@ -53,9 +76,9 @@ describe AASM::Transition do
53
76
  opts = {:from => 'foo', :to => 'bar', :guard => 'g'}
54
77
  st = AASM::Transition.new(opts)
55
78
 
56
- obj = mock('object')
57
- obj.stub!(:from).and_return('blah')
58
- obj.stub!(:to).and_return(opts[:to])
79
+ obj = double('object')
80
+ obj.stub(:from).and_return('blah')
81
+ obj.stub(:to).and_return(opts[:to])
59
82
 
60
83
  st.should_not == obj
61
84
  end
@@ -64,9 +87,9 @@ describe AASM::Transition do
64
87
  opts = {:from => 'foo', :to => 'bar', :guard => 'g'}
65
88
  st = AASM::Transition.new(opts)
66
89
 
67
- obj = mock('object')
68
- obj.stub!(:from).and_return(opts[:from])
69
- obj.stub!(:to).and_return('blah')
90
+ obj = double('object')
91
+ obj.stub(:from).and_return(opts[:from])
92
+ obj.stub(:to).and_return('blah')
70
93
 
71
94
  st.should_not == obj
72
95
  end
@@ -84,7 +107,7 @@ describe AASM::Transition, '- when performing guard checks' do
84
107
  opts = {:from => 'foo', :to => 'bar', :guard => :test}
85
108
  st = AASM::Transition.new(opts)
86
109
 
87
- obj = mock('object')
110
+ obj = double('object')
88
111
  obj.should_receive(:test)
89
112
 
90
113
  st.perform(obj)
@@ -94,7 +117,7 @@ describe AASM::Transition, '- when performing guard checks' do
94
117
  opts = {:from => 'foo', :to => 'bar', :guard => 'test'}
95
118
  st = AASM::Transition.new(opts)
96
119
 
97
- obj = mock('object')
120
+ obj = double('object')
98
121
  obj.should_receive(:test)
99
122
 
100
123
  st.perform(obj)
@@ -104,7 +127,7 @@ describe AASM::Transition, '- when performing guard checks' do
104
127
  opts = {:from => 'foo', :to => 'bar', :guard => Proc.new {|o| o.test}}
105
128
  st = AASM::Transition.new(opts)
106
129
 
107
- obj = mock('object')
130
+ obj = double('object')
108
131
  obj.should_receive(:test)
109
132
 
110
133
  st.perform(obj)
@@ -116,7 +139,7 @@ describe AASM::Transition, '- when executing the transition with a Proc' do
116
139
  opts = {:from => 'foo', :to => 'bar', :on_transition => Proc.new {|o| o.test}}
117
140
  st = AASM::Transition.new(opts)
118
141
  args = {:arg1 => '1', :arg2 => '2'}
119
- obj = mock('object')
142
+ obj = double('object')
120
143
 
121
144
  opts[:on_transition].should_receive(:call).with(any_args)
122
145
 
@@ -127,7 +150,7 @@ describe AASM::Transition, '- when executing the transition with a Proc' do
127
150
  opts = {:from => 'foo', :to => 'bar', :on_transition => Proc.new {||}}
128
151
  st = AASM::Transition.new(opts)
129
152
  args = {:arg1 => '1', :arg2 => '2'}
130
- obj = mock('object')
153
+ obj = double('object')
131
154
 
132
155
  opts[:on_transition].should_receive(:call).with(no_args)
133
156
 
@@ -140,7 +163,7 @@ describe AASM::Transition, '- when executing the transition with an :on_transtio
140
163
  opts = {:from => 'foo', :to => 'bar', :on_transition => 'test'}
141
164
  st = AASM::Transition.new(opts)
142
165
  args = {:arg1 => '1', :arg2 => '2'}
143
- obj = mock('object')
166
+ obj = double('object')
144
167
 
145
168
  obj.should_receive(:test)
146
169
 
@@ -151,7 +174,7 @@ describe AASM::Transition, '- when executing the transition with an :on_transtio
151
174
  opts = {:from => 'foo', :to => 'bar', :on_transition => :test}
152
175
  st = AASM::Transition.new(opts)
153
176
  args = {:arg1 => '1', :arg2 => '2'}
154
- obj = mock('object')
177
+ obj = double('object')
155
178
 
156
179
  obj.should_receive(:test)
157
180
 
@@ -162,7 +185,7 @@ describe AASM::Transition, '- when executing the transition with an :on_transtio
162
185
  opts = {:from => 'foo', :to => 'bar', :on_transition => :test}
163
186
  st = AASM::Transition.new(opts)
164
187
  args = {:arg1 => '1', :arg2 => '2'}
165
- obj = mock('object')
188
+ obj = double('object')
166
189
 
167
190
  obj.class.class_eval do
168
191
  define_method(:test) {|*args| 'success'}
@@ -177,7 +200,7 @@ describe AASM::Transition, '- when executing the transition with an :on_transtio
177
200
  opts = {:from => 'foo', :to => 'bar', :on_transition => :test}
178
201
  st = AASM::Transition.new(opts)
179
202
  args = {:arg1 => '1', :arg2 => '2'}
180
- obj = mock('object')
203
+ obj = double('object')
181
204
 
182
205
  obj.class.class_eval do
183
206
  define_method(:test) {|*args| 'success'}
metadata CHANGED
@@ -1,8 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: aasm
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.0.23
5
- prerelease:
4
+ version: 3.0.24
6
5
  platform: ruby
7
6
  authors:
8
7
  - Scott Barron
@@ -12,166 +11,160 @@ authors:
12
11
  autorequire:
13
12
  bindir: bin
14
13
  cert_chain: []
15
- date: 2013-10-24 00:00:00.000000000 Z
14
+ date: 2013-11-20 00:00:00.000000000 Z
16
15
  dependencies:
17
16
  - !ruby/object:Gem::Dependency
18
17
  name: activerecord
19
18
  requirement: !ruby/object:Gem::Requirement
20
- none: false
21
19
  requirements:
22
20
  - - '='
23
21
  - !ruby/object:Gem::Version
24
- version: 3.2.12
22
+ version: 3.2.15
25
23
  type: :development
26
24
  prerelease: false
27
25
  version_requirements: !ruby/object:Gem::Requirement
28
- none: false
29
26
  requirements:
30
27
  - - '='
31
28
  - !ruby/object:Gem::Version
32
- version: 3.2.12
29
+ version: 3.2.15
33
30
  - !ruby/object:Gem::Dependency
34
31
  name: mongoid
35
32
  requirement: !ruby/object:Gem::Requirement
36
- none: false
37
33
  requirements:
38
- - - ! '>='
34
+ - - '>='
39
35
  - !ruby/object:Gem::Version
40
36
  version: '0'
41
37
  type: :development
42
38
  prerelease: false
43
39
  version_requirements: !ruby/object:Gem::Requirement
44
- none: false
45
40
  requirements:
46
- - - ! '>='
41
+ - - '>='
47
42
  - !ruby/object:Gem::Version
48
43
  version: '0'
49
44
  - !ruby/object:Gem::Dependency
50
45
  name: rake
51
46
  requirement: !ruby/object:Gem::Requirement
52
- none: false
53
47
  requirements:
54
- - - ! '>='
48
+ - - '>='
55
49
  - !ruby/object:Gem::Version
56
50
  version: '0'
57
51
  type: :development
58
52
  prerelease: false
59
53
  version_requirements: !ruby/object:Gem::Requirement
60
- none: false
61
54
  requirements:
62
- - - ! '>='
55
+ - - '>='
63
56
  - !ruby/object:Gem::Version
64
57
  version: '0'
65
58
  - !ruby/object:Gem::Dependency
66
59
  name: sdoc
67
60
  requirement: !ruby/object:Gem::Requirement
68
- none: false
69
61
  requirements:
70
- - - ! '>='
62
+ - - '>='
71
63
  - !ruby/object:Gem::Version
72
64
  version: '0'
73
65
  type: :development
74
66
  prerelease: false
75
67
  version_requirements: !ruby/object:Gem::Requirement
76
- none: false
77
68
  requirements:
78
- - - ! '>='
69
+ - - '>='
79
70
  - !ruby/object:Gem::Version
80
71
  version: '0'
81
72
  - !ruby/object:Gem::Dependency
82
73
  name: rspec
83
74
  requirement: !ruby/object:Gem::Requirement
84
- none: false
85
75
  requirements:
86
76
  - - ~>
87
77
  - !ruby/object:Gem::Version
88
- version: '2.0'
78
+ version: '2.14'
89
79
  type: :development
90
80
  prerelease: false
91
81
  version_requirements: !ruby/object:Gem::Requirement
92
- none: false
93
82
  requirements:
94
83
  - - ~>
95
84
  - !ruby/object:Gem::Version
96
- version: '2.0'
85
+ version: '2.14'
97
86
  - !ruby/object:Gem::Dependency
98
87
  name: rr
99
88
  requirement: !ruby/object:Gem::Requirement
100
- none: false
101
89
  requirements:
102
- - - ! '>='
90
+ - - '>='
103
91
  - !ruby/object:Gem::Version
104
92
  version: '0'
105
93
  type: :development
106
94
  prerelease: false
107
95
  version_requirements: !ruby/object:Gem::Requirement
108
- none: false
109
96
  requirements:
110
- - - ! '>='
97
+ - - '>='
111
98
  - !ruby/object:Gem::Version
112
99
  version: '0'
113
100
  - !ruby/object:Gem::Dependency
114
101
  name: sqlite3
115
102
  requirement: !ruby/object:Gem::Requirement
116
- none: false
117
103
  requirements:
118
- - - ! '>='
104
+ - - '>='
119
105
  - !ruby/object:Gem::Version
120
106
  version: '0'
121
107
  type: :development
122
108
  prerelease: false
123
109
  version_requirements: !ruby/object:Gem::Requirement
124
- none: false
125
110
  requirements:
126
- - - ! '>='
111
+ - - '>='
127
112
  - !ruby/object:Gem::Version
128
113
  version: '0'
129
114
  - !ruby/object:Gem::Dependency
130
115
  name: minitest
131
116
  requirement: !ruby/object:Gem::Requirement
132
- none: false
133
117
  requirements:
134
- - - ! '>='
118
+ - - '>='
135
119
  - !ruby/object:Gem::Version
136
120
  version: '0'
137
121
  type: :development
138
122
  prerelease: false
139
123
  version_requirements: !ruby/object:Gem::Requirement
140
- none: false
141
124
  requirements:
142
- - - ! '>='
125
+ - - '>='
143
126
  - !ruby/object:Gem::Version
144
127
  version: '0'
145
128
  - !ruby/object:Gem::Dependency
146
129
  name: ruby-debug-completion
147
130
  requirement: !ruby/object:Gem::Requirement
148
- none: false
149
131
  requirements:
150
- - - ! '>='
132
+ - - '>='
151
133
  - !ruby/object:Gem::Version
152
134
  version: '0'
153
135
  type: :development
154
136
  prerelease: false
155
137
  version_requirements: !ruby/object:Gem::Requirement
156
- none: false
157
138
  requirements:
158
- - - ! '>='
139
+ - - '>='
159
140
  - !ruby/object:Gem::Version
160
141
  version: '0'
142
+ - !ruby/object:Gem::Dependency
143
+ name: mime-types
144
+ requirement: !ruby/object:Gem::Requirement
145
+ requirements:
146
+ - - ~>
147
+ - !ruby/object:Gem::Version
148
+ version: '1.25'
149
+ type: :development
150
+ prerelease: false
151
+ version_requirements: !ruby/object:Gem::Requirement
152
+ requirements:
153
+ - - ~>
154
+ - !ruby/object:Gem::Version
155
+ version: '1.25'
161
156
  - !ruby/object:Gem::Dependency
162
157
  name: coveralls
163
158
  requirement: !ruby/object:Gem::Requirement
164
- none: false
165
159
  requirements:
166
- - - ! '>='
160
+ - - '>='
167
161
  - !ruby/object:Gem::Version
168
162
  version: '0'
169
163
  type: :development
170
164
  prerelease: false
171
165
  version_requirements: !ruby/object:Gem::Requirement
172
- none: false
173
166
  requirements:
174
- - - ! '>='
167
+ - - '>='
175
168
  - !ruby/object:Gem::Version
176
169
  version: '0'
177
170
  description: AASM is a continuation of the acts as state machine rails plugin, built
@@ -255,27 +248,26 @@ files:
255
248
  homepage: https://github.com/aasm/aasm
256
249
  licenses:
257
250
  - MIT
251
+ metadata: {}
258
252
  post_install_message:
259
253
  rdoc_options: []
260
254
  require_paths:
261
255
  - lib
262
256
  required_ruby_version: !ruby/object:Gem::Requirement
263
- none: false
264
257
  requirements:
265
- - - ! '>='
258
+ - - '>='
266
259
  - !ruby/object:Gem::Version
267
260
  version: '0'
268
261
  required_rubygems_version: !ruby/object:Gem::Requirement
269
- none: false
270
262
  requirements:
271
- - - ! '>='
263
+ - - '>='
272
264
  - !ruby/object:Gem::Version
273
265
  version: '0'
274
266
  requirements: []
275
267
  rubyforge_project:
276
- rubygems_version: 1.8.24
268
+ rubygems_version: 2.1.11
277
269
  signing_key:
278
- specification_version: 3
270
+ specification_version: 4
279
271
  summary: State machine mixin for Ruby objects
280
272
  test_files:
281
273
  - spec/database.yml