auditable 0.1.3 → 0.1.4

Sign up to get free protection for your applications and to get access to all the features.
@@ -1,3 +1,7 @@
1
+ ### 0.1.4 (2012-01-11)
2
+ #### Improvement
3
+ * Add class_name option for method audit. This allows you to have a custom audit class that inherits from Auditable::Audit [#12]
4
+
1
5
  ### 0.1.3 (2012-05-24)
2
6
  #### Fixes
3
7
  * Fix a silly bug not loading the audits under the same `auditable_id`
@@ -5,7 +9,7 @@
5
9
 
6
10
  ### 0.1.2 (2012-05-24)
7
11
  #### Fixes
8
- * Fix bug creating duplicate audits despite no change in a record's subsequent saves, due to using `.build`. See this comment on ![issue #7](https://github.com/harleyttd/auditable/issues/7#issuecomment-5520894)
12
+ * Fix bug creating duplicate audits despite no change in a record's subsequent saves, due to using `.build`. See this comment on [issue #7](https://github.com/harleyttd/auditable/issues/7#issuecomment-5520894)
9
13
  * Fix bug not finding the right audit in rare cases when there are many audits with the same `created_at` timestamp
10
14
 
11
15
  ### 0.1.1 (2012-04-11)
@@ -1,5 +1,6 @@
1
1
  require 'active_record'
2
2
  require 'active_support/concern'
3
+ require 'active_support/core_ext/array/extract_options'
3
4
 
4
5
  require "auditable/version"
5
6
  require 'auditable/audit'
@@ -22,12 +22,15 @@ module Auditable
22
22
  # class Survey < ActiveRecord::Base
23
23
  # audit :page_count, :question_ids
24
24
  # end
25
- def audit(*options)
26
- has_many :audits, :class_name => "Auditable::Audit", :as => :auditable
25
+ def audit(*args)
26
+ options = args.extract_options!
27
+ options[:class_name] ||= "Auditable::Audit"
28
+ options[:as] = :auditable
29
+ has_many :audits, options
27
30
  after_create {|record| record.snap!(:action => "create")}
28
31
  after_update {|record| record.snap!(:action => "update")}
29
32
 
30
- self.audited_attributes = Array.wrap options
33
+ self.audited_attributes = Array.wrap args
31
34
  end
32
35
  end
33
36
 
@@ -1,3 +1,3 @@
1
1
  module Auditable
2
- VERSION = "0.1.3"
2
+ VERSION = "0.1.4"
3
3
  end
@@ -11,6 +11,10 @@ describe Auditable do
11
11
  let(:user) { User.create :name => "test user" }
12
12
  let(:another_user) { User.create :name => "another user" }
13
13
 
14
+ it "should have a valid audit class name" do
15
+ survey.audits.first.should be_instance_of(MyAudit)
16
+ end
17
+
14
18
  it "should have a valid audit to start with" do
15
19
  survey.title.should == "test survey"
16
20
  survey.audited_changes.should == {"title" => [nil, "test survey"]}
@@ -1,13 +1,17 @@
1
1
  class Survey < ActiveRecord::Base
2
2
  attr_accessor :current_page
3
3
 
4
- audit :title, :current_page
4
+ audit :title, :current_page, :class_name => "MyAudit"
5
5
  end
6
6
 
7
7
  class User < ActiveRecord::Base
8
8
  audit :name
9
9
  end
10
10
 
11
+ class MyAudit < Auditable::Audit
12
+
13
+ end
14
+
11
15
  # TODO add Question class to give examples on association stuff
12
16
 
13
17
 
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: auditable
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.3
4
+ version: 0.1.4
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,11 +9,11 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-05-24 00:00:00.000000000 Z
12
+ date: 2013-01-11 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: rake
16
- requirement: &2152531980 !ruby/object:Gem::Requirement
16
+ requirement: !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - ! '>='
@@ -21,10 +21,15 @@ dependencies:
21
21
  version: '0'
22
22
  type: :development
23
23
  prerelease: false
24
- version_requirements: *2152531980
24
+ version_requirements: !ruby/object:Gem::Requirement
25
+ none: false
26
+ requirements:
27
+ - - ! '>='
28
+ - !ruby/object:Gem::Version
29
+ version: '0'
25
30
  - !ruby/object:Gem::Dependency
26
31
  name: rspec
27
- requirement: &2152531400 !ruby/object:Gem::Requirement
32
+ requirement: !ruby/object:Gem::Requirement
28
33
  none: false
29
34
  requirements:
30
35
  - - ! '>='
@@ -32,10 +37,15 @@ dependencies:
32
37
  version: '2'
33
38
  type: :development
34
39
  prerelease: false
35
- version_requirements: *2152531400
40
+ version_requirements: !ruby/object:Gem::Requirement
41
+ none: false
42
+ requirements:
43
+ - - ! '>='
44
+ - !ruby/object:Gem::Version
45
+ version: '2'
36
46
  - !ruby/object:Gem::Dependency
37
47
  name: watchr
38
- requirement: &2152530780 !ruby/object:Gem::Requirement
48
+ requirement: !ruby/object:Gem::Requirement
39
49
  none: false
40
50
  requirements:
41
51
  - - ! '>='
@@ -43,10 +53,15 @@ dependencies:
43
53
  version: '0'
44
54
  type: :development
45
55
  prerelease: false
46
- version_requirements: *2152530780
56
+ version_requirements: !ruby/object:Gem::Requirement
57
+ none: false
58
+ requirements:
59
+ - - ! '>='
60
+ - !ruby/object:Gem::Version
61
+ version: '0'
47
62
  - !ruby/object:Gem::Dependency
48
63
  name: sqlite3
49
- requirement: &2152530080 !ruby/object:Gem::Requirement
64
+ requirement: !ruby/object:Gem::Requirement
50
65
  none: false
51
66
  requirements:
52
67
  - - ! '>='
@@ -54,10 +69,15 @@ dependencies:
54
69
  version: '0'
55
70
  type: :development
56
71
  prerelease: false
57
- version_requirements: *2152530080
72
+ version_requirements: !ruby/object:Gem::Requirement
73
+ none: false
74
+ requirements:
75
+ - - ! '>='
76
+ - !ruby/object:Gem::Version
77
+ version: '0'
58
78
  - !ruby/object:Gem::Dependency
59
79
  name: timecop
60
- requirement: &2152529180 !ruby/object:Gem::Requirement
80
+ requirement: !ruby/object:Gem::Requirement
61
81
  none: false
62
82
  requirements:
63
83
  - - ! '>='
@@ -65,10 +85,15 @@ dependencies:
65
85
  version: '0'
66
86
  type: :development
67
87
  prerelease: false
68
- version_requirements: *2152529180
88
+ version_requirements: !ruby/object:Gem::Requirement
89
+ none: false
90
+ requirements:
91
+ - - ! '>='
92
+ - !ruby/object:Gem::Version
93
+ version: '0'
69
94
  - !ruby/object:Gem::Dependency
70
95
  name: yard
71
- requirement: &2152528200 !ruby/object:Gem::Requirement
96
+ requirement: !ruby/object:Gem::Requirement
72
97
  none: false
73
98
  requirements:
74
99
  - - ! '>='
@@ -76,10 +101,15 @@ dependencies:
76
101
  version: '0'
77
102
  type: :development
78
103
  prerelease: false
79
- version_requirements: *2152528200
104
+ version_requirements: !ruby/object:Gem::Requirement
105
+ none: false
106
+ requirements:
107
+ - - ! '>='
108
+ - !ruby/object:Gem::Version
109
+ version: '0'
80
110
  - !ruby/object:Gem::Dependency
81
111
  name: rdiscount
82
- requirement: &2152527680 !ruby/object:Gem::Requirement
112
+ requirement: !ruby/object:Gem::Requirement
83
113
  none: false
84
114
  requirements:
85
115
  - - ! '>='
@@ -87,10 +117,15 @@ dependencies:
87
117
  version: '0'
88
118
  type: :development
89
119
  prerelease: false
90
- version_requirements: *2152527680
120
+ version_requirements: !ruby/object:Gem::Requirement
121
+ none: false
122
+ requirements:
123
+ - - ! '>='
124
+ - !ruby/object:Gem::Version
125
+ version: '0'
91
126
  - !ruby/object:Gem::Dependency
92
127
  name: activesupport
93
- requirement: &2152527140 !ruby/object:Gem::Requirement
128
+ requirement: !ruby/object:Gem::Requirement
94
129
  none: false
95
130
  requirements:
96
131
  - - ! '>='
@@ -98,10 +133,15 @@ dependencies:
98
133
  version: '3.0'
99
134
  type: :runtime
100
135
  prerelease: false
101
- version_requirements: *2152527140
136
+ version_requirements: !ruby/object:Gem::Requirement
137
+ none: false
138
+ requirements:
139
+ - - ! '>='
140
+ - !ruby/object:Gem::Version
141
+ version: '3.0'
102
142
  - !ruby/object:Gem::Dependency
103
143
  name: activerecord
104
- requirement: &2152526620 !ruby/object:Gem::Requirement
144
+ requirement: !ruby/object:Gem::Requirement
105
145
  none: false
106
146
  requirements:
107
147
  - - ! '>='
@@ -109,7 +149,12 @@ dependencies:
109
149
  version: '3.0'
110
150
  type: :runtime
111
151
  prerelease: false
112
- version_requirements: *2152526620
152
+ version_requirements: !ruby/object:Gem::Requirement
153
+ none: false
154
+ requirements:
155
+ - - ! '>='
156
+ - !ruby/object:Gem::Version
157
+ version: '3.0'
113
158
  description: A simple gem that audit ActiveRecord models' attributes or methods by
114
159
  taking snapshots and diff them for you. Starting from scratch to work with Rails
115
160
  3.2.2 onwards
@@ -153,15 +198,21 @@ required_ruby_version: !ruby/object:Gem::Requirement
153
198
  - - ! '>='
154
199
  - !ruby/object:Gem::Version
155
200
  version: '0'
201
+ segments:
202
+ - 0
203
+ hash: 4236402516311877901
156
204
  required_rubygems_version: !ruby/object:Gem::Requirement
157
205
  none: false
158
206
  requirements:
159
207
  - - ! '>='
160
208
  - !ruby/object:Gem::Version
161
209
  version: '0'
210
+ segments:
211
+ - 0
212
+ hash: 4236402516311877901
162
213
  requirements: []
163
214
  rubyforge_project:
164
- rubygems_version: 1.8.17
215
+ rubygems_version: 1.8.24
165
216
  signing_key:
166
217
  specification_version: 3
167
218
  summary: A simple gem to audit attributes and methods in ActiveRecord models.