state_machine_audits 0.1.1 → 0.1.2

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/.gitignore CHANGED
@@ -2,3 +2,4 @@ pkg/*
2
2
  *.gem
3
3
  .bundle
4
4
  Gemfile.lock
5
+ *.swp
data/README.md ADDED
@@ -0,0 +1,28 @@
1
+ ## StateMachineAudits
2
+ This gem is meant to be used in conjunction with the state_machine gem in a Rails3 project. It will hook into before_save and track any state changes that happen in its own database table.
3
+
4
+ To that end, you need a migration that looks something like this:
5
+
6
+ class CreateStateMachineStateAudits < ActiveRecord::Migration
7
+ def self.up
8
+ create_table :state_machine_state_audits do |t|
9
+ t.string :state_machine_auditable_type
10
+ t.integer :state_machine_auditable_id
11
+ t.string :state_field
12
+ t.string :state
13
+ t.timestamps
14
+ end
15
+ end
16
+
17
+ def self.down
18
+ drop_table :state_machine_state_audits
19
+ end
20
+ end
21
+
22
+ After that, you just include the module in your class that uses state_machine like so:
23
+
24
+ class SomeClass < ActiveRecord::Base
25
+ include StateMachineAudits
26
+ end
27
+
28
+ That's it, you're done. Now it will keep a record of each state transition.
@@ -0,0 +1,5 @@
1
+ Description:
2
+ Copies create_state_machine_audits.rb to db/migrate.
3
+
4
+ Examples:
5
+ 'rails generate state_machine_audits'
@@ -0,0 +1,19 @@
1
+ require 'rails/generators/migration'
2
+
3
+ class StateMachineStateAuditsGenerator < Rails::Generators::Base
4
+ include Rails::Generators::Migration
5
+
6
+ class << self
7
+ def source_root
8
+ @state_machine_state_audits_source_root ||= File.expand_path('../templates', __FILE__)
9
+ end
10
+
11
+ def next_migration_number path
12
+ Time.now.utc.strftime("%Y%m%d%H%M%S")
13
+ end
14
+ end
15
+
16
+ def create_model_file
17
+ migration_template 'create_state_machine_state_audits.rb', 'db/migrate/create_state_machine_state_audits.rb'
18
+ end
19
+ end
@@ -0,0 +1,15 @@
1
+ class CreateStateMachineStateAudits < ActiveRecord::Migration
2
+ def self.up
3
+ create_table :state_machine_state_audits do |t|
4
+ t.string :state_machine_auditable_type
5
+ t.integer :state_machine_auditable_id
6
+ t.string :state_field
7
+ t.string :state
8
+ t.timestamps
9
+ end
10
+ end
11
+
12
+ def self.down
13
+ drop_table :state_machine_state_audits
14
+ end
15
+ end
@@ -1,3 +1,3 @@
1
1
  module StateMachineAudits
2
- VERSION = "0.1.1"
2
+ VERSION = "0.1.2"
3
3
  end
@@ -13,13 +13,12 @@ Gem::Specification.new do |s|
13
13
  s.required_rubygems_version = ">= 1.3.6"
14
14
  s.rubyforge_project = "state_machine_audits"
15
15
 
16
- s.add_development_dependency "bundler", ">= 1.0.0.rc.6"
16
+ s.add_development_dependency "bundler", ">= 1.0.2.1"
17
17
  s.add_development_dependency "rspec", "~> 2.4.0"
18
18
  s.add_development_dependency "sqlite3", "~> 1.3.3"
19
19
 
20
- s.add_dependency 'activesupport', '~> 3.0.0'
21
- s.add_dependency 'activerecord', '~> 3.0.0'
22
- s.add_dependency 'state_machine', '~> 0.9.4'
20
+ s.add_dependency 'rails', '>= 3.0.0'
21
+ s.add_dependency 'state_machine', '>= 1.0.2'
23
22
 
24
23
  s.files = `git ls-files`.split("\n")
25
24
  s.executables = `git ls-files`.split("\n").map{|f| f =~ /^bin\/(.*)/ ? $1 : nil}.compact
metadata CHANGED
@@ -1,13 +1,12 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: state_machine_audits
3
3
  version: !ruby/object:Gem::Version
4
- hash: 25
5
- prerelease:
4
+ prerelease: false
6
5
  segments:
7
6
  - 0
8
7
  - 1
9
- - 1
10
- version: 0.1.1
8
+ - 2
9
+ version: 0.1.2
11
10
  platform: ruby
12
11
  authors:
13
12
  - Josh Adams
@@ -17,36 +16,31 @@ autorequire:
17
16
  bindir: bin
18
17
  cert_chain: []
19
18
 
20
- date: 2011-01-18 00:00:00 -06:00
19
+ date: 2012-03-09 00:00:00 -06:00
21
20
  default_executable:
22
21
  dependencies:
23
22
  - !ruby/object:Gem::Dependency
24
23
  name: bundler
25
24
  prerelease: false
26
25
  requirement: &id001 !ruby/object:Gem::Requirement
27
- none: false
28
26
  requirements:
29
27
  - - ">="
30
28
  - !ruby/object:Gem::Version
31
- hash: 15424057
32
29
  segments:
33
30
  - 1
34
31
  - 0
35
- - 0
36
- - rc
37
- - 6
38
- version: 1.0.0.rc.6
32
+ - 2
33
+ - 1
34
+ version: 1.0.2.1
39
35
  type: :development
40
36
  version_requirements: *id001
41
37
  - !ruby/object:Gem::Dependency
42
38
  name: rspec
43
39
  prerelease: false
44
40
  requirement: &id002 !ruby/object:Gem::Requirement
45
- none: false
46
41
  requirements:
47
42
  - - ~>
48
43
  - !ruby/object:Gem::Version
49
- hash: 31
50
44
  segments:
51
45
  - 2
52
46
  - 4
@@ -58,11 +52,9 @@ dependencies:
58
52
  name: sqlite3
59
53
  prerelease: false
60
54
  requirement: &id003 !ruby/object:Gem::Requirement
61
- none: false
62
55
  requirements:
63
56
  - - ~>
64
57
  - !ruby/object:Gem::Version
65
- hash: 29
66
58
  segments:
67
59
  - 1
68
60
  - 3
@@ -71,14 +63,12 @@ dependencies:
71
63
  type: :development
72
64
  version_requirements: *id003
73
65
  - !ruby/object:Gem::Dependency
74
- name: activesupport
66
+ name: rails
75
67
  prerelease: false
76
68
  requirement: &id004 !ruby/object:Gem::Requirement
77
- none: false
78
69
  requirements:
79
- - - ~>
70
+ - - ">="
80
71
  - !ruby/object:Gem::Version
81
- hash: 7
82
72
  segments:
83
73
  - 3
84
74
  - 0
@@ -87,37 +77,19 @@ dependencies:
87
77
  type: :runtime
88
78
  version_requirements: *id004
89
79
  - !ruby/object:Gem::Dependency
90
- name: activerecord
80
+ name: state_machine
91
81
  prerelease: false
92
82
  requirement: &id005 !ruby/object:Gem::Requirement
93
- none: false
94
83
  requirements:
95
- - - ~>
84
+ - - ">="
96
85
  - !ruby/object:Gem::Version
97
- hash: 7
98
86
  segments:
99
- - 3
100
- - 0
87
+ - 1
101
88
  - 0
102
- version: 3.0.0
89
+ - 2
90
+ version: 1.0.2
103
91
  type: :runtime
104
92
  version_requirements: *id005
105
- - !ruby/object:Gem::Dependency
106
- name: state_machine
107
- prerelease: false
108
- requirement: &id006 !ruby/object:Gem::Requirement
109
- none: false
110
- requirements:
111
- - - ~>
112
- - !ruby/object:Gem::Version
113
- hash: 51
114
- segments:
115
- - 0
116
- - 9
117
- - 4
118
- version: 0.9.4
119
- type: :runtime
120
- version_requirements: *id006
121
93
  description:
122
94
  email:
123
95
  - josh@isotope11.com
@@ -130,8 +102,11 @@ extra_rdoc_files: []
130
102
  files:
131
103
  - .gitignore
132
104
  - Gemfile
133
- - README
105
+ - README.md
134
106
  - Rakefile
107
+ - lib/generators/state_machine_state_audit/USAGE
108
+ - lib/generators/state_machine_state_audit/state_machine_state_audit_generator.rb
109
+ - lib/generators/state_machine_state_audit/templates/create_state_machine_audits.rb
135
110
  - lib/state_machine_audits.rb
136
111
  - lib/state_machine_audits/state_machine_state_audit.rb
137
112
  - lib/state_machine_audits/version.rb
@@ -147,20 +122,16 @@ rdoc_options: []
147
122
  require_paths:
148
123
  - lib
149
124
  required_ruby_version: !ruby/object:Gem::Requirement
150
- none: false
151
125
  requirements:
152
126
  - - ">="
153
127
  - !ruby/object:Gem::Version
154
- hash: 3
155
128
  segments:
156
129
  - 0
157
130
  version: "0"
158
131
  required_rubygems_version: !ruby/object:Gem::Requirement
159
- none: false
160
132
  requirements:
161
133
  - - ">="
162
134
  - !ruby/object:Gem::Version
163
- hash: 23
164
135
  segments:
165
136
  - 1
166
137
  - 3
@@ -169,7 +140,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
169
140
  requirements: []
170
141
 
171
142
  rubyforge_project: state_machine_audits
172
- rubygems_version: 1.4.1
143
+ rubygems_version: 1.3.6
173
144
  signing_key:
174
145
  specification_version: 3
175
146
  summary: Audits for the state_machine gem
data/README DELETED
@@ -1,29 +0,0 @@
1
- == StateMachineAudits
2
-
3
- This gem is meant to be used in conjunction with the state_machine gem in a Rails3 project. It will hook into before_save and track any state changes that happen in its own database table.
4
-
5
- To that end, you need a migration that looks something like this:
6
-
7
- class CreateStateMachineStateAudits < ActiveRecord::Migration
8
- def self.up
9
- create_table :state_machine_state_audits do |t|
10
- t.string :state_machine_auditable_type
11
- t.integer :state_machine_auditable_id
12
- t.string :state_field
13
- t.string :state
14
- t.timestamps
15
- end
16
- end
17
-
18
- def self.down
19
- drop_table :state_machine_state_audits
20
- end
21
- end
22
-
23
- After that, you just include the module in your class that uses state_machine like so:
24
-
25
- class SomeClass < ActiveRecord::Base
26
- include StateMachineAudits
27
- end
28
-
29
- That's it, you're done. Now it will keep a record of each state transition.