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.
@@ -2,7 +2,7 @@ require 'state_machine'
2
2
 
3
3
  module StateMachine::AuditTrail
4
4
 
5
- VERSION = "0.1.2"
5
+ VERSION = "0.1.3"
6
6
 
7
7
  def self.setup
8
8
  StateMachine::Machine.send(:include, StateMachine::AuditTrail::TransitionAuditing)
@@ -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
- "#{owner_class.name}#{attribute.to_s.camelize}Transition"
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.2"
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.2
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-07-28 00:00:00.000000000 Z
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: &70321730548680 !ruby/object:Gem::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: *70321730548680
25
+ version_requirements: *70284895978760
26
26
  - !ruby/object:Gem::Dependency
27
27
  name: rake
28
- requirement: &70321730546980 !ruby/object:Gem::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: *70321730546980
36
+ version_requirements: *70284895977960
37
37
  - !ruby/object:Gem::Dependency
38
38
  name: rspec
39
- requirement: &70321730545180 !ruby/object:Gem::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: *70321730545180
47
+ version_requirements: *70284895976820
48
48
  - !ruby/object:Gem::Dependency
49
49
  name: activerecord
50
- requirement: &70321730566140 !ruby/object:Gem::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: *70321730566140
58
+ version_requirements: *70284895976060
59
59
  - !ruby/object:Gem::Dependency
60
60
  name: sqlite3
61
- requirement: &70321730564040 !ruby/object:Gem::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: *70321730564040
69
+ version_requirements: *70284895954760
70
70
  - !ruby/object:Gem::Dependency
71
71
  name: mongoid
72
- requirement: &70321730560820 !ruby/object:Gem::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: *70321730560820
80
+ version_requirements: *70284895954100
81
81
  - !ruby/object:Gem::Dependency
82
82
  name: bson_ext
83
- requirement: &70321730573720 !ruby/object:Gem::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: *70321730573720
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