state_machine_audits 0.1.1 → 0.1.2

Sign up to get free protection for your applications and to get access to all the features.
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.