aasm 3.0.18 → 3.0.19
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/CHANGELOG.md +5 -2
- data/README.md +2 -2
- data/aasm.gemspec +3 -2
- data/lib/aasm/persistence/active_record_persistence.rb +1 -1
- data/lib/aasm/persistence/base.rb +15 -4
- data/lib/aasm/version.rb +1 -1
- data/spec/unit/persistence/active_record_persistence_spec.rb +2 -2
- metadata +24 -35
data/CHANGELOG.md
CHANGED
@@ -1,10 +1,13 @@
|
|
1
1
|
# CHANGELOG
|
2
2
|
|
3
|
-
##
|
3
|
+
## 3.0.19
|
4
|
+
|
5
|
+
* fixed deprecation warning with Rails 4 (Relation#update_all with conditions is deprecated)
|
6
|
+
* fixing issue #69 (ActiveRecord scopes are not chainable)
|
4
7
|
|
5
8
|
## 3.0.18
|
6
9
|
|
7
|
-
* fixing issue #66
|
10
|
+
* fixing issue #66 (state methods not reflecting the current state)
|
8
11
|
|
9
12
|
## 3.0.17
|
10
13
|
|
data/README.md
CHANGED
@@ -80,7 +80,7 @@ class Job
|
|
80
80
|
state :sleeping, :initial => true, :before_enter => :do_something
|
81
81
|
state :running
|
82
82
|
|
83
|
-
event :run, :after =>
|
83
|
+
event :run, :after => Proc.new { |user| notify_somebody(user) } do
|
84
84
|
transitions :from => :sleeping, :to => :running, :on_transition => Proc.new {|obj, *args| obj.set_process(*args) }
|
85
85
|
end
|
86
86
|
|
@@ -103,7 +103,7 @@ class Job
|
|
103
103
|
...
|
104
104
|
end
|
105
105
|
|
106
|
-
def notify_somebody
|
106
|
+
def notify_somebody(user)
|
107
107
|
...
|
108
108
|
end
|
109
109
|
|
data/aasm.gemspec
CHANGED
@@ -13,13 +13,14 @@ Gem::Specification.new do |s|
|
|
13
13
|
s.date = Time.now
|
14
14
|
s.licenses = ["MIT"]
|
15
15
|
|
16
|
-
s.add_development_dependency 'activerecord'
|
16
|
+
s.add_development_dependency 'activerecord', '3.2.12'
|
17
|
+
# s.add_development_dependency 'activerecord', '4.0.0.rc1'
|
18
|
+
|
17
19
|
s.add_development_dependency 'mongoid' if Gem::Version.create(RUBY_VERSION.dup) >= Gem::Version.create('1.9.3')
|
18
20
|
s.add_development_dependency 'rake'
|
19
21
|
s.add_development_dependency 'sdoc'
|
20
22
|
s.add_development_dependency 'rspec', '~> 2.0'
|
21
23
|
s.add_development_dependency 'rr'
|
22
|
-
s.add_development_dependency 'shoulda'
|
23
24
|
s.add_development_dependency 'sqlite3'
|
24
25
|
s.add_development_dependency 'minitest'
|
25
26
|
# s.add_development_dependency 'debugger'
|
@@ -82,7 +82,7 @@ module AASM
|
|
82
82
|
write_attribute(self.class.aasm_column, state.to_s)
|
83
83
|
|
84
84
|
success = if AASM::StateMachine[self.class].config.skip_validation_on_save
|
85
|
-
self.class.
|
85
|
+
self.class.where(self.class.primary_key => self.id).update_all(self.class.aasm_column => state.to_s) == 1
|
86
86
|
else
|
87
87
|
self.save
|
88
88
|
end
|
@@ -89,10 +89,21 @@ module AASM
|
|
89
89
|
state_without_scope(name, *args)
|
90
90
|
unless @clazz.respond_to?(name)
|
91
91
|
if @clazz.ancestors.map {|klass| klass.to_s}.include?("ActiveRecord::Base")
|
92
|
-
|
93
|
-
|
94
|
-
|
95
|
-
|
92
|
+
|
93
|
+
conditions = {"#{@clazz.table_name}.#{@clazz.aasm_column}" => name.to_s}
|
94
|
+
if ActiveRecord::VERSION::MAJOR >= 4
|
95
|
+
@clazz.class_eval do
|
96
|
+
scope name, lambda { where(conditions) }
|
97
|
+
end
|
98
|
+
elsif ActiveRecord::VERSION::MAJOR >= 3
|
99
|
+
@clazz.class_eval do
|
100
|
+
scope name, where(conditions)
|
101
|
+
end
|
102
|
+
else
|
103
|
+
@clazz.class_eval do
|
104
|
+
named_scope name, :conditions => conditions
|
105
|
+
end
|
106
|
+
end
|
96
107
|
elsif @clazz.ancestors.map {|klass| klass.to_s}.include?("Mongoid::Document")
|
97
108
|
scope_options = lambda { @clazz.send(:where, {@clazz.aasm_column.to_sym => name.to_s}) }
|
98
109
|
@clazz.send(:scope, name, scope_options)
|
data/lib/aasm/version.rb
CHANGED
@@ -81,7 +81,7 @@ describe "named scopes with the old DSL" do
|
|
81
81
|
context "Does not already respond_to? the scope name" do
|
82
82
|
it "should add a scope" do
|
83
83
|
Simple.should respond_to(:unknown_scope)
|
84
|
-
|
84
|
+
SimpleNewDsl.unknown_scope.is_a?(ActiveRecord::Relation).should be_true
|
85
85
|
end
|
86
86
|
end
|
87
87
|
|
@@ -99,7 +99,7 @@ describe "named scopes with the new DSL" do
|
|
99
99
|
context "Does not already respond_to? the scope name" do
|
100
100
|
it "should add a scope" do
|
101
101
|
SimpleNewDsl.should respond_to(:unknown_scope)
|
102
|
-
SimpleNewDsl.unknown_scope.
|
102
|
+
SimpleNewDsl.unknown_scope.is_a?(ActiveRecord::Relation).should be_true
|
103
103
|
end
|
104
104
|
end
|
105
105
|
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: aasm
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 3.0.
|
4
|
+
version: 3.0.19
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -12,22 +12,22 @@ authors:
|
|
12
12
|
autorequire:
|
13
13
|
bindir: bin
|
14
14
|
cert_chain: []
|
15
|
-
date: 2013-05-
|
15
|
+
date: 2013-05-29 00:00:00.000000000 Z
|
16
16
|
dependencies:
|
17
17
|
- !ruby/object:Gem::Dependency
|
18
18
|
name: activerecord
|
19
|
-
requirement: &
|
19
|
+
requirement: &70095838288580 !ruby/object:Gem::Requirement
|
20
20
|
none: false
|
21
21
|
requirements:
|
22
|
-
- -
|
22
|
+
- - =
|
23
23
|
- !ruby/object:Gem::Version
|
24
|
-
version:
|
24
|
+
version: 3.2.12
|
25
25
|
type: :development
|
26
26
|
prerelease: false
|
27
|
-
version_requirements: *
|
27
|
+
version_requirements: *70095838288580
|
28
28
|
- !ruby/object:Gem::Dependency
|
29
29
|
name: mongoid
|
30
|
-
requirement: &
|
30
|
+
requirement: &70095838287920 !ruby/object:Gem::Requirement
|
31
31
|
none: false
|
32
32
|
requirements:
|
33
33
|
- - ! '>='
|
@@ -35,10 +35,10 @@ dependencies:
|
|
35
35
|
version: '0'
|
36
36
|
type: :development
|
37
37
|
prerelease: false
|
38
|
-
version_requirements: *
|
38
|
+
version_requirements: *70095838287920
|
39
39
|
- !ruby/object:Gem::Dependency
|
40
40
|
name: rake
|
41
|
-
requirement: &
|
41
|
+
requirement: &70095838287460 !ruby/object:Gem::Requirement
|
42
42
|
none: false
|
43
43
|
requirements:
|
44
44
|
- - ! '>='
|
@@ -46,10 +46,10 @@ dependencies:
|
|
46
46
|
version: '0'
|
47
47
|
type: :development
|
48
48
|
prerelease: false
|
49
|
-
version_requirements: *
|
49
|
+
version_requirements: *70095838287460
|
50
50
|
- !ruby/object:Gem::Dependency
|
51
51
|
name: sdoc
|
52
|
-
requirement: &
|
52
|
+
requirement: &70095838287040 !ruby/object:Gem::Requirement
|
53
53
|
none: false
|
54
54
|
requirements:
|
55
55
|
- - ! '>='
|
@@ -57,10 +57,10 @@ dependencies:
|
|
57
57
|
version: '0'
|
58
58
|
type: :development
|
59
59
|
prerelease: false
|
60
|
-
version_requirements: *
|
60
|
+
version_requirements: *70095838287040
|
61
61
|
- !ruby/object:Gem::Dependency
|
62
62
|
name: rspec
|
63
|
-
requirement: &
|
63
|
+
requirement: &70095838286540 !ruby/object:Gem::Requirement
|
64
64
|
none: false
|
65
65
|
requirements:
|
66
66
|
- - ~>
|
@@ -68,21 +68,10 @@ dependencies:
|
|
68
68
|
version: '2.0'
|
69
69
|
type: :development
|
70
70
|
prerelease: false
|
71
|
-
version_requirements: *
|
71
|
+
version_requirements: *70095838286540
|
72
72
|
- !ruby/object:Gem::Dependency
|
73
73
|
name: rr
|
74
|
-
requirement: &
|
75
|
-
none: false
|
76
|
-
requirements:
|
77
|
-
- - ! '>='
|
78
|
-
- !ruby/object:Gem::Version
|
79
|
-
version: '0'
|
80
|
-
type: :development
|
81
|
-
prerelease: false
|
82
|
-
version_requirements: *70315267340520
|
83
|
-
- !ruby/object:Gem::Dependency
|
84
|
-
name: shoulda
|
85
|
-
requirement: &70315267339020 !ruby/object:Gem::Requirement
|
74
|
+
requirement: &70095838286120 !ruby/object:Gem::Requirement
|
86
75
|
none: false
|
87
76
|
requirements:
|
88
77
|
- - ! '>='
|
@@ -90,10 +79,10 @@ dependencies:
|
|
90
79
|
version: '0'
|
91
80
|
type: :development
|
92
81
|
prerelease: false
|
93
|
-
version_requirements: *
|
82
|
+
version_requirements: *70095838286120
|
94
83
|
- !ruby/object:Gem::Dependency
|
95
84
|
name: sqlite3
|
96
|
-
requirement: &
|
85
|
+
requirement: &70095838285660 !ruby/object:Gem::Requirement
|
97
86
|
none: false
|
98
87
|
requirements:
|
99
88
|
- - ! '>='
|
@@ -101,10 +90,10 @@ dependencies:
|
|
101
90
|
version: '0'
|
102
91
|
type: :development
|
103
92
|
prerelease: false
|
104
|
-
version_requirements: *
|
93
|
+
version_requirements: *70095838285660
|
105
94
|
- !ruby/object:Gem::Dependency
|
106
95
|
name: minitest
|
107
|
-
requirement: &
|
96
|
+
requirement: &70095838285240 !ruby/object:Gem::Requirement
|
108
97
|
none: false
|
109
98
|
requirements:
|
110
99
|
- - ! '>='
|
@@ -112,10 +101,10 @@ dependencies:
|
|
112
101
|
version: '0'
|
113
102
|
type: :development
|
114
103
|
prerelease: false
|
115
|
-
version_requirements: *
|
104
|
+
version_requirements: *70095838285240
|
116
105
|
- !ruby/object:Gem::Dependency
|
117
106
|
name: ruby-debug-completion
|
118
|
-
requirement: &
|
107
|
+
requirement: &70095838284820 !ruby/object:Gem::Requirement
|
119
108
|
none: false
|
120
109
|
requirements:
|
121
110
|
- - ! '>='
|
@@ -123,10 +112,10 @@ dependencies:
|
|
123
112
|
version: '0'
|
124
113
|
type: :development
|
125
114
|
prerelease: false
|
126
|
-
version_requirements: *
|
115
|
+
version_requirements: *70095838284820
|
127
116
|
- !ruby/object:Gem::Dependency
|
128
117
|
name: coveralls
|
129
|
-
requirement: &
|
118
|
+
requirement: &70095838284400 !ruby/object:Gem::Requirement
|
130
119
|
none: false
|
131
120
|
requirements:
|
132
121
|
- - ! '>='
|
@@ -134,7 +123,7 @@ dependencies:
|
|
134
123
|
version: '0'
|
135
124
|
type: :development
|
136
125
|
prerelease: false
|
137
|
-
version_requirements: *
|
126
|
+
version_requirements: *70095838284400
|
138
127
|
description: AASM is a continuation of the acts as state machine rails plugin, built
|
139
128
|
for plain Ruby objects.
|
140
129
|
email: scott@elitists.net, ttilley@gmail.com, aasm@mt7.de
|