state_machine-audit_trail 0.1.2 → 0.1.3
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.
@@ -4,7 +4,7 @@
|
|
4
4
|
|
5
5
|
module StateMachine::AuditTrail::TransitionAuditing
|
6
6
|
attr_accessor :transition_class_name
|
7
|
-
|
7
|
+
|
8
8
|
# Public tells the state machine to hook in the appropriate before / after behaviour
|
9
9
|
#
|
10
10
|
# options: a Hash of options. keys that are used are :to => CustomTransitionClass,
|
@@ -35,6 +35,7 @@ module StateMachine::AuditTrail::TransitionAuditing
|
|
35
35
|
end
|
36
36
|
|
37
37
|
def default_transition_class_name
|
38
|
-
|
38
|
+
owner_class_or_base_class = owner_class.respond_to?(:base_class) ? owner_class.base_class : owner_class
|
39
|
+
"#{owner_class_or_base_class.name}#{attribute.to_s.camelize}Transition"
|
39
40
|
end
|
40
41
|
end
|
@@ -75,6 +75,16 @@ end
|
|
75
75
|
class ActiveRecordTestModelDescendant < ActiveRecordTestModel
|
76
76
|
end
|
77
77
|
|
78
|
+
class ActiveRecordTestModelDescendantWithOwnStateMachine < ActiveRecordTestModel
|
79
|
+
state_machine :state, :initial => :new do
|
80
|
+
store_audit_trail
|
81
|
+
|
82
|
+
event :complete do
|
83
|
+
transition [:new] => :completed
|
84
|
+
end
|
85
|
+
end
|
86
|
+
end
|
87
|
+
|
78
88
|
class ActiveRecordTestModelWithMultipleStateMachines < ActiveRecord::Base
|
79
89
|
|
80
90
|
state_machine :first, :initial => :beginning do
|
@@ -103,4 +103,11 @@ describe StateMachine::AuditTrail::Backend::ActiveRecord do
|
|
103
103
|
lambda { m.start! }.should_not raise_error
|
104
104
|
end
|
105
105
|
end
|
106
|
+
|
107
|
+
context 'on a class using STI with own state machine' do
|
108
|
+
it "should properly grab the class name from STI models" do
|
109
|
+
m = ActiveRecordTestModelDescendantWithOwnStateMachine.create!
|
110
|
+
lambda { m.complete! }.should_not raise_error
|
111
|
+
end
|
112
|
+
end
|
106
113
|
end
|
@@ -1,7 +1,7 @@
|
|
1
1
|
# -*- encoding: utf-8 -*-
|
2
2
|
Gem::Specification.new do |s|
|
3
3
|
s.name = "state_machine-audit_trail"
|
4
|
-
s.version = "0.1.
|
4
|
+
s.version = "0.1.3"
|
5
5
|
s.platform = Gem::Platform::RUBY
|
6
6
|
s.authors = ["Willem van Bergen", "Jesse Storimer"]
|
7
7
|
s.email = ["willem@shopify.com", "jesse@shopify.com"]
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: state_machine-audit_trail
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.3
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -10,11 +10,11 @@ authors:
|
|
10
10
|
autorequire:
|
11
11
|
bindir: bin
|
12
12
|
cert_chain: []
|
13
|
-
date: 2012-
|
13
|
+
date: 2012-08-28 00:00:00.000000000 Z
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: state_machine
|
17
|
-
requirement: &
|
17
|
+
requirement: &70284895978760 !ruby/object:Gem::Requirement
|
18
18
|
none: false
|
19
19
|
requirements:
|
20
20
|
- - ! '>='
|
@@ -22,10 +22,10 @@ dependencies:
|
|
22
22
|
version: '0'
|
23
23
|
type: :runtime
|
24
24
|
prerelease: false
|
25
|
-
version_requirements: *
|
25
|
+
version_requirements: *70284895978760
|
26
26
|
- !ruby/object:Gem::Dependency
|
27
27
|
name: rake
|
28
|
-
requirement: &
|
28
|
+
requirement: &70284895977960 !ruby/object:Gem::Requirement
|
29
29
|
none: false
|
30
30
|
requirements:
|
31
31
|
- - ! '>='
|
@@ -33,10 +33,10 @@ dependencies:
|
|
33
33
|
version: '0'
|
34
34
|
type: :development
|
35
35
|
prerelease: false
|
36
|
-
version_requirements: *
|
36
|
+
version_requirements: *70284895977960
|
37
37
|
- !ruby/object:Gem::Dependency
|
38
38
|
name: rspec
|
39
|
-
requirement: &
|
39
|
+
requirement: &70284895976820 !ruby/object:Gem::Requirement
|
40
40
|
none: false
|
41
41
|
requirements:
|
42
42
|
- - ~>
|
@@ -44,10 +44,10 @@ dependencies:
|
|
44
44
|
version: '2'
|
45
45
|
type: :development
|
46
46
|
prerelease: false
|
47
|
-
version_requirements: *
|
47
|
+
version_requirements: *70284895976820
|
48
48
|
- !ruby/object:Gem::Dependency
|
49
49
|
name: activerecord
|
50
|
-
requirement: &
|
50
|
+
requirement: &70284895976060 !ruby/object:Gem::Requirement
|
51
51
|
none: false
|
52
52
|
requirements:
|
53
53
|
- - ~>
|
@@ -55,10 +55,10 @@ dependencies:
|
|
55
55
|
version: '3'
|
56
56
|
type: :development
|
57
57
|
prerelease: false
|
58
|
-
version_requirements: *
|
58
|
+
version_requirements: *70284895976060
|
59
59
|
- !ruby/object:Gem::Dependency
|
60
60
|
name: sqlite3
|
61
|
-
requirement: &
|
61
|
+
requirement: &70284895954760 !ruby/object:Gem::Requirement
|
62
62
|
none: false
|
63
63
|
requirements:
|
64
64
|
- - ! '>='
|
@@ -66,10 +66,10 @@ dependencies:
|
|
66
66
|
version: '0'
|
67
67
|
type: :development
|
68
68
|
prerelease: false
|
69
|
-
version_requirements: *
|
69
|
+
version_requirements: *70284895954760
|
70
70
|
- !ruby/object:Gem::Dependency
|
71
71
|
name: mongoid
|
72
|
-
requirement: &
|
72
|
+
requirement: &70284895954100 !ruby/object:Gem::Requirement
|
73
73
|
none: false
|
74
74
|
requirements:
|
75
75
|
- - ~>
|
@@ -77,10 +77,10 @@ dependencies:
|
|
77
77
|
version: '2'
|
78
78
|
type: :development
|
79
79
|
prerelease: false
|
80
|
-
version_requirements: *
|
80
|
+
version_requirements: *70284895954100
|
81
81
|
- !ruby/object:Gem::Dependency
|
82
82
|
name: bson_ext
|
83
|
-
requirement: &
|
83
|
+
requirement: &70284895953520 !ruby/object:Gem::Requirement
|
84
84
|
none: false
|
85
85
|
requirements:
|
86
86
|
- - ! '>='
|
@@ -88,7 +88,7 @@ dependencies:
|
|
88
88
|
version: '0'
|
89
89
|
type: :development
|
90
90
|
prerelease: false
|
91
|
-
version_requirements: *
|
91
|
+
version_requirements: *70284895953520
|
92
92
|
description: Log transitions on a state machine to support auditing and business process
|
93
93
|
analytics.
|
94
94
|
email:
|
@@ -132,18 +132,12 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
132
132
|
- - ! '>='
|
133
133
|
- !ruby/object:Gem::Version
|
134
134
|
version: '0'
|
135
|
-
segments:
|
136
|
-
- 0
|
137
|
-
hash: -3894931399333668545
|
138
135
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
139
136
|
none: false
|
140
137
|
requirements:
|
141
138
|
- - ! '>='
|
142
139
|
- !ruby/object:Gem::Version
|
143
140
|
version: '0'
|
144
|
-
segments:
|
145
|
-
- 0
|
146
|
-
hash: -3894931399333668545
|
147
141
|
requirements: []
|
148
142
|
rubyforge_project: state_machine
|
149
143
|
rubygems_version: 1.8.16
|