auditing 1.0.0 → 1.1.0

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/Gemfile CHANGED
@@ -1,7 +1,7 @@
1
1
  source "http://rubygems.org"
2
2
 
3
3
  group :development, :test do
4
- gem 'rspec-rails', '~> 2.0.0.beta.20'
4
+ gem 'rspec', '~> 2.0'
5
5
  gem 'sqlite3-ruby', '~> 1.3'
6
6
  gem 'activerecord', '~> 3.0.0.rc2'
7
7
  end
data/Gemfile.lock CHANGED
@@ -24,8 +24,6 @@ GEM
24
24
  rspec-expectations (2.0.0.beta.20)
25
25
  diff-lcs (>= 1.1.2)
26
26
  rspec-mocks (2.0.0.beta.20)
27
- rspec-rails (2.0.0.beta.20)
28
- rspec (= 2.0.0.beta.20)
29
27
  sqlite3-ruby (1.3.1)
30
28
  tzinfo (0.3.23)
31
29
 
@@ -34,5 +32,5 @@ PLATFORMS
34
32
 
35
33
  DEPENDENCIES
36
34
  activerecord (~> 3.0.0.rc2)
37
- rspec-rails (~> 2.0.0.beta.20)
35
+ rspec (~> 2.0)
38
36
  sqlite3-ruby (~> 1.3)
data/README.rdoc CHANGED
@@ -1,4 +1,4 @@
1
- = auditing (currently in development)
1
+ = auditing
2
2
 
3
3
  Auditing is a simple way to track and rollback changes to a record.
4
4
 
@@ -23,6 +23,7 @@ You will have to supply a model named Audit in your rails application with the f
23
23
  end
24
24
 
25
25
  If you want to track the user, uncomment the t.integer :user_id above.
26
+
26
27
  TODO: more to follow about tracking the user
27
28
 
28
29
  class Audit < ActiveRecord::Base
@@ -70,8 +71,10 @@ to enable a similar type of auditing on the other model(s)
70
71
 
71
72
  As above, you can supply a :fields hash of which attributes will be logged.
72
73
  If your relationship is polymorphic, you can supply an array of classes
73
- that you :only want to log.
74
+ that you only want to log.
74
75
 
76
+ audit_relationship_enabled :only => [Company, Person]
77
+
75
78
  == Note on Patches/Pull Requests
76
79
 
77
80
  * Fork the project.
data/Rakefile CHANGED
@@ -10,7 +10,7 @@ begin
10
10
  gem.email = "brad.cantin@gmail.com"
11
11
  gem.homepage = "http://github.com/bcantin/auditing"
12
12
  gem.authors = ["Brad Cantin"]
13
- gem.add_development_dependency "rspec", ">= 1.2.9"
13
+ gem.add_development_dependency "rspec", ">= 2.0"
14
14
  # gem is a Gem::Specification... see http://www.rubygems.org/read/chapter/20 for additional settings
15
15
  end
16
16
  Jeweler::GemcutterTasks.new
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.0.0
1
+ 1.1.0
data/auditing.gemspec CHANGED
@@ -5,11 +5,11 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = %q{auditing}
8
- s.version = "1.0.0"
8
+ s.version = "1.1.0"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["Brad Cantin"]
12
- s.date = %q{2010-10-09}
12
+ s.date = %q{2010-10-16}
13
13
  s.description = %q{acts_as_versioned is good. This allows an attribute level rollback instead}
14
14
  s.email = %q{brad.cantin@gmail.com}
15
15
  s.extra_rdoc_files = [
@@ -56,12 +56,12 @@ Gem::Specification.new do |s|
56
56
  s.specification_version = 3
57
57
 
58
58
  if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
59
- s.add_development_dependency(%q<rspec>, [">= 1.2.9"])
59
+ s.add_development_dependency(%q<rspec>, [">= 2.0"])
60
60
  else
61
- s.add_dependency(%q<rspec>, [">= 1.2.9"])
61
+ s.add_dependency(%q<rspec>, [">= 2.0"])
62
62
  end
63
63
  else
64
- s.add_dependency(%q<rspec>, [">= 1.2.9"])
64
+ s.add_dependency(%q<rspec>, [">= 2.0"])
65
65
  end
66
66
  end
67
67
 
data/lib/auditing/base.rb CHANGED
@@ -60,8 +60,11 @@ module Auditing
60
60
  end
61
61
 
62
62
  def log_association_destroy(item)
63
+ mark_as_undoable = audits.where({:association_id => item.id, :association_type => item.class.to_s})
64
+ mark_as_undoable.each do |i|
65
+ i.update_attribute('undoable', false)
66
+ end
63
67
  add_audit(:action => 'removed', :association => item, :undoable => false)
64
- # TODO: update all of this items previous audits to be undoable
65
68
  end
66
69
 
67
70
  private
@@ -1,7 +1,7 @@
1
1
  require 'spec_helper'
2
2
 
3
3
  describe "AuditingRelationship" do
4
-
4
+
5
5
  describe "adding audit_relationship_enabled on a model" do
6
6
  before do
7
7
  class Company < ActiveRecord::Base
@@ -13,52 +13,145 @@ describe "AuditingRelationship" do
13
13
  audit_relationship_enabled
14
14
  end
15
15
  end
16
-
16
+
17
17
  it "should respond to audit_relationship_enabled when we add audit_relationship_enabled" do
18
18
  PhoneNumber.should respond_to(:audit_relationship_enabled)
19
19
  end
20
-
20
+
21
21
  it "should build an array of audit_enabled_models" do
22
22
  PhoneNumber.audit_enabled_models.should == [:phoneable]
23
23
  end
24
-
24
+
25
25
  it "should build an array of field_names" do
26
26
  PhoneNumber.field_names.should =~ ['number', 'extension']
27
27
  end
28
-
29
- describe "creating a new belongs_to object" do
28
+
29
+ describe "creating a new has_many object" do
30
30
  before do
31
31
  @company = Company.create(:name => 'Apple')
32
32
  end
33
-
34
33
  it "should add an audit to the parent instance object (company) when we create a phone number" do
35
34
  lambda {
36
35
  @company.phone_numbers << PhoneNumber.new(:number => '1-800-orange')
37
- }.should change{@company.audits.count}
36
+ }.should change{@company.audits.count}
38
37
  end
39
-
38
+
40
39
  it "should add an audit for each field" do
41
40
  lambda {
42
41
  @company.phone_numbers << PhoneNumber.new(:number => '1-800-orange', :extension => '1')
43
- }.should change{@company.audits.count}.by(2)
42
+ }.should change{@company.audits.count}.by(2)
44
43
  end
45
-
46
- describe "updating an existing belongs_to object" do
44
+
45
+ describe "updating an existing has_many object" do
47
46
  before do
48
47
  @ph = PhoneNumber.new(:number => '1-800-orange', :extension => '1')
49
48
  @company.phone_numbers << @ph
50
49
  end
51
-
52
50
  it "should add an audit to the parent instance when we update a phone number" do
53
- lambda {@ph.update_attributes(:number => '1-800-apple')}.should change{@company.audits.count}
51
+ lambda {@ph.update_attributes(:number => '1-800-apple')
52
+ }.should change{@company.audits.count}
54
53
  end
55
-
54
+
56
55
  describe "deleting a child_object" do
57
56
  it "should add an audit to the parent instance when we delete a phone number" do
58
57
  lambda {PhoneNumber.destroy(@ph)}.should change{@company.audits.count}
59
58
  end
59
+
60
+ it "should mark previous audits involving this has_many object so they can not be reversed" do
61
+ ph_id = @ph.id
62
+ ph_assoc = @ph.class.to_s
63
+
64
+ PhoneNumber.destroy(@ph)
65
+ ph_audits = @company.audits.where(
66
+ {:association_id => ph_id, :association_type => ph_assoc}
67
+ )
68
+ collection = ph_audits.collect(&:undoable)
69
+ collection.uniq.should == [false]
70
+ end
60
71
  end
61
72
  end
62
73
  end
63
74
  end
64
- end
75
+
76
+ describe "has_many :through" do
77
+ before do
78
+ class Company < ActiveRecord::Base
79
+ has_many :employments
80
+ has_many :people, :through => :employments
81
+ audit_enabled
82
+ end
83
+ class Person < ActiveRecord::Base
84
+ has_many :employments
85
+ has_many :companies, :through => :employments
86
+ audit_enabled
87
+ end
88
+ class Employment < ActiveRecord::Base
89
+ belongs_to :person
90
+ belongs_to :company
91
+ audit_relationship_enabled :fields => :start_date
92
+ end
93
+ @company = Company.create(:name => 'Apple')
94
+ @person = Person.create(:first_name => 'Steve')
95
+ end
96
+
97
+ it "adds an audit to the company" do
98
+ lambda {Employment.create(:person => @person,
99
+ :company => @company,
100
+ :start_date => 'yesterdayish')
101
+ }.should change{@company.audits.count}.by(1)
102
+ end
103
+ it "adds an audit to the person" do
104
+ lambda {Employment.create(:person => @person,
105
+ :company => @company,
106
+ :start_date => 'yesterdayish')
107
+ }.should change{@person.audits.count}.by(1)
108
+ end
109
+ it "increases the total audit count" do
110
+ lambda {Employment.create(:person => @person,
111
+ :company => @company,
112
+ :start_date => 'yesterdayish')
113
+ }.should change{Audit.count}.by(2)
114
+ end
115
+
116
+ describe "updating" do
117
+ before do
118
+ @emp = Employment.create(:person => @person,
119
+ :company => @company,
120
+ :start_date => 'yesterdayish')
121
+ end
122
+ it "increases the audit log for the company" do
123
+ lambda {@emp.update_attribute(:start_date, 'today')
124
+ }.should change{@company.audits.count}.by(1)
125
+ end
126
+ it "increases the audit log for the person" do
127
+ lambda {@emp.update_attribute(:start_date, 'today')
128
+ }.should change{@person.audits.count}.by(1)
129
+ end
130
+ it "increases the total audit count" do
131
+ lambda {@emp.update_attribute(:start_date, 'today')
132
+ }.should change{Audit.count}.by(2)
133
+ end
134
+ end
135
+
136
+ describe "deleting" do
137
+ before do
138
+ @emp = Employment.create(:person => @person,
139
+ :company => @company,
140
+ :start_date => 'yesterdayish')
141
+ end
142
+ it "increases the audit log for the company" do
143
+ lambda {Employment.destroy(@emp)
144
+ }.should change{@company.audits.count}.by(1)
145
+ end
146
+ it "increases the audit log for the person" do
147
+ lambda {Employment.destroy(@emp)
148
+ }.should change{@person.audits.count}.by(1)
149
+ end
150
+ it "increases the total audit count" do
151
+ lambda {Employment.destroy(@emp)
152
+ }.should change{Audit.count}.by(2)
153
+ end
154
+ end
155
+ end
156
+
157
+ end
@@ -4,7 +4,7 @@ describe "Auditor" do
4
4
  it 'adds the Auditing::Auditor module to the Audit class' do
5
5
  Audit.new.should respond_to(:show_action)
6
6
  end
7
-
7
+
8
8
  describe "#rollback" do
9
9
  before do
10
10
  class School < ActiveRecord::Base
@@ -14,24 +14,24 @@ describe "Auditor" do
14
14
  @school.update_attributes(:name => 'PS99')
15
15
  @audit = @school.audits.first
16
16
  end
17
-
17
+
18
18
  it "the latest audit should be the audit we want to rollback" do
19
19
  @audit.action.should == 'updated'
20
20
  @audit.new_value.should == 'PS99'
21
21
  @audit.old_value.should == 'PS118'
22
22
  @audit.association.should == nil
23
23
  end
24
-
24
+
25
25
  it "performs the rollback" do
26
26
  @audit.rollback
27
27
  @school.reload
28
28
  @school.name.should == 'PS118'
29
29
  end
30
-
30
+
31
31
  it "creates an audit when a rollback is performed" do
32
32
  lambda { @audit.rollback }.should change { Audit.count }.by(1)
33
33
  end
34
-
34
+
35
35
  it "the latest audit after a rollback should contain the changed values" do
36
36
  @audit.rollback
37
37
  @school.reload
@@ -39,7 +39,7 @@ describe "Auditor" do
39
39
  @school.audits.first.new_value.should == 'PS118'
40
40
  end
41
41
  end
42
-
42
+
43
43
  describe "#rollback belongs_to attribute" do
44
44
  before do
45
45
  class Car < ActiveRecord::Base
@@ -51,12 +51,12 @@ describe "Auditor" do
51
51
  end
52
52
  @automaker = AutoMaker.create(:name => 'maker of fast cars')
53
53
  @new_automaker = AutoMaker.create(:name => 'maker of safe cars')
54
-
54
+
55
55
  @car = Car.create(:name => 'fast car', :auto_maker => @automaker)
56
56
  @car.update_attributes(:auto_maker => @new_automaker)
57
57
  @audit = @car.audits.first
58
58
  end
59
-
59
+
60
60
  it "the latest audit should be the audit we want to rollback" do
61
61
  @audit.action.should == 'updated'
62
62
  @audit.new_value.should == @new_automaker.id
@@ -64,17 +64,17 @@ describe "Auditor" do
64
64
  @audit.association.should == nil
65
65
  @car.auto_maker.should == @new_automaker
66
66
  end
67
-
67
+
68
68
  it "performs the rollback" do
69
69
  @audit.rollback
70
70
  @car.reload
71
71
  @car.auto_maker.should == @automaker
72
72
  end
73
-
73
+
74
74
  it "creates an audit when a rollback is performed" do
75
75
  lambda { @audit.rollback }.should change { Audit.count }.by(1)
76
76
  end
77
-
77
+
78
78
  it "the latest audit after a rollback should contain the changed values" do
79
79
  @audit.rollback
80
80
  @car.reload
@@ -82,7 +82,7 @@ describe "Auditor" do
82
82
  @car.audits.first.new_value.should == @automaker.id
83
83
  end
84
84
  end
85
-
85
+
86
86
  describe "rollback has_many attributes" do
87
87
  before do
88
88
  class Company < ActiveRecord::Base
@@ -99,24 +99,24 @@ describe "Auditor" do
99
99
  @ph.update_attributes(:number => '1-800-call-apple')
100
100
  @audit = @company.audits.first
101
101
  end
102
-
102
+
103
103
  it "the latest audit should be the audit we want to rollback" do
104
104
  @audit.action.should == 'updated'
105
105
  @audit.new_value.should == '1-800-call-apple'
106
106
  @audit.old_value.should == '1-800-orange'
107
107
  @audit.association.should == @ph
108
108
  end
109
-
109
+
110
110
  it "performs the rollback" do
111
111
  @audit.rollback
112
112
  @company.reload
113
113
  @company.phone_numbers.first.number.should == '1-800-orange'
114
114
  end
115
-
115
+
116
116
  it "creates an audit when a rollback is performed" do
117
117
  lambda { @audit.rollback }.should change { Audit.count }.by(1)
118
118
  end
119
-
119
+
120
120
  it "the latest audit after a rollback should contain the changed values" do
121
121
  @audit.rollback
122
122
  @company.reload
@@ -124,4 +124,4 @@ describe "Auditor" do
124
124
  @company.audits.first.new_value.should == '1-800-orange'
125
125
  end
126
126
  end
127
- end
127
+ end
@@ -1,24 +1,25 @@
1
1
  require 'spec_helper'
2
2
 
3
3
  describe "Auditing" do
4
-
4
+
5
5
  describe "auditing default values" do
6
6
  before do
7
7
  class School < ActiveRecord::Base
8
8
  audit_enabled
9
9
  end
10
10
  end
11
-
11
+
12
12
  it "responds to audit_enabled when auditing is added to an AR object" do
13
13
  School.should respond_to(:audit_enabled)
14
14
  end
15
-
15
+
16
16
  it "responds to @auditing_fields" do
17
17
  School.should respond_to(:auditing_fields)
18
18
  end
19
-
19
+
20
20
  it "has default values when no fields are passed in" do
21
- School.stub!(:column_names).and_return(["id", "name", "established_on", "created_at", "updated_at"])
21
+ School.stub!(:column_names).and_return(
22
+ ["id", "name", "established_on", "created_at", "updated_at"])
22
23
  School.gather_fields_for_auditing.should == ["name", "established_on"]
23
24
  end
24
25
  end # auditing default values
@@ -30,21 +31,21 @@ describe "Auditing" do
30
31
  end
31
32
  School.auditing_fields.should == ['name']
32
33
  end
33
-
34
+
34
35
  it "accepts a single value as a string" do
35
36
  class School < ActiveRecord::Base
36
37
  audit_enabled :fields => 'name'
37
38
  end
38
39
  School.auditing_fields.should == ['name']
39
40
  end
40
-
41
+
41
42
  it "accepts an array of symbols" do
42
43
  class School < ActiveRecord::Base
43
44
  audit_enabled :fields => [:name, :established_on]
44
45
  end
45
46
  School.auditing_fields.should == ['name', 'established_on']
46
47
  end
47
-
48
+
48
49
  it "accepts an array of strings" do
49
50
  class School < ActiveRecord::Base
50
51
  audit_enabled :fields => ['name', 'established_on']
@@ -52,7 +53,7 @@ describe "Auditing" do
52
53
  School.auditing_fields.should == ['name', 'established_on']
53
54
  end
54
55
  end # auditing :fields => [:foo,:bar]
55
-
56
+
56
57
  describe "creating a new instance" do
57
58
  before do
58
59
  class School < ActiveRecord::Base
@@ -63,23 +64,23 @@ describe "Auditing" do
63
64
  it "creates an audit" do
64
65
  lambda { School.create(:name => 'PS118') }.should change { Audit.count }.by(1)
65
66
  end
66
-
67
+
67
68
  it "the first audit has an action of 'created'" do
68
69
  school = School.create(:name => 'PS118')
69
70
  school.audits.first.action.should == 'created'
70
71
  end
71
-
72
+
72
73
  it "the first audit should not be reversable" do
73
74
  school = School.create(:name => 'PS118')
74
75
  school.audits.first.reversable?.should == false
75
76
  end
76
-
77
+
77
78
  it "the audit.auditable should be the object that created the audit" do
78
79
  school = School.create(:name => 'PS118')
79
80
  school.audits.first.auditable.should == school
80
81
  end
81
82
  end # creating a new instance
82
-
83
+
83
84
  describe "updating an existing record" do
84
85
  before do
85
86
  class School < ActiveRecord::Base
@@ -87,47 +88,50 @@ describe "Auditing" do
87
88
  end
88
89
  @school = School.create(:name => 'PS118')
89
90
  end
90
-
91
+
91
92
  it "creates an audit" do
92
- lambda { @school.update_attributes(:name => 'PS99') }.should change { Audit.count }.by(1)
93
+ lambda {@school.update_attributes(:name => 'PS99')
94
+ }.should change { Audit.count }.by(1)
93
95
  end
94
-
96
+
95
97
  it "the first audit has an action of 'updated" do
96
98
  @school.update_attributes(:name => 'PS99')
97
99
  @school.audits.first.action.should == 'updated'
98
100
  end
99
-
101
+
100
102
  it "the first audit should be reversable" do
101
103
  @school.update_attributes(:name => 'PS99')
102
104
  @school.audits.first.reversable?.should == true
103
105
  end
104
-
106
+
105
107
  it "the first audit stored the new value" do
106
108
  @school.update_attributes(:name => 'PS99')
107
109
  @school.audits.first.new_value.should == 'PS99'
108
110
  end
109
-
111
+
110
112
  it "the first audit stored the old value" do
111
113
  @school.update_attributes(:name => 'PS99')
112
114
  @school.audits.first.old_value.should == 'PS118'
113
115
  end
114
-
116
+
115
117
  it "the audit.auditable should be the object that created the audit" do
116
118
  @school.update_attributes(:name => 'PS99')
117
119
  @school.audits.first.auditable.should == @school
118
120
  end
119
-
121
+
120
122
  describe "does not create an audit when" do
121
123
  it "a value did not change" do
122
- lambda { @school.update_attributes(:name => 'PS118') }.should_not change { Audit.count }
124
+ lambda {@school.update_attributes(:name => 'PS118')
125
+ }.should_not change { Audit.count }
123
126
  end
124
-
127
+
125
128
  it "a value is not part of auditing_fields" do
126
- lambda { @school.update_attributes(:established_on => Time.now) }.should_not change { Audit.count }
129
+ lambda {@school.update_attributes(:established_on => Time.now)
130
+ }.should_not change { Audit.count }
127
131
  end
128
132
  end
129
133
  end # updating an existing record
130
-
134
+
131
135
  describe "belongs_to relationships" do
132
136
  before do
133
137
  class Car < ActiveRecord::Base
@@ -137,24 +141,25 @@ describe "Auditing" do
137
141
  class AutoMaker < ActiveRecord::Base
138
142
  has_many :cars
139
143
  end
140
-
144
+
141
145
  @car = Car.create(:name => 'fast car')
142
146
  @automaker = AutoMaker.create(:name => 'maker of fast cars')
143
147
  end
144
-
148
+
145
149
  it "creates an audit when we add a belongs_to relationship" do
146
- lambda { @car.update_attributes(:auto_maker => @automaker) }.should change { Audit.count }.by(1)
150
+ lambda {@car.update_attributes(:auto_maker => @automaker)
151
+ }.should change { Audit.count }.by(1)
147
152
  end
148
-
153
+
149
154
  describe "our latest audit" do
150
155
  before do
151
156
  @car.update_attributes(:auto_maker => @automaker)
152
157
  end
153
-
158
+
154
159
  it "the action should be 'updated" do
155
160
  @car.audits.first.action.should == 'updated'
156
161
  end
157
-
162
+
158
163
  it "new_value should be an id" do
159
164
  @car.audits.first.new_value.should == @automaker.id
160
165
  end
@@ -163,17 +168,18 @@ describe "Auditing" do
163
168
  @car.audits.first.reversable?.should == true
164
169
  end
165
170
  end
166
-
171
+
167
172
  describe "updating a belongs_to" do
168
173
  before do
169
174
  @new_automaker = AutoMaker.create(:name => 'maker of safe car')
170
175
  @car.update_attributes(:auto_maker => @automaker)
171
176
  end
172
-
177
+
173
178
  it "creates an audit when we change a belongs_to relationship" do
174
- lambda { @car.update_attributes(:auto_maker => @new_automaker) }.should change { Audit.count }.by(1)
179
+ lambda {@car.update_attributes(:auto_maker => @new_automaker)
180
+ }.should change { Audit.count }.by(1)
175
181
  end
176
-
182
+
177
183
  describe "our latest audit" do
178
184
  before do
179
185
  @car.update_attributes(:auto_maker => @new_automaker)
@@ -186,16 +192,16 @@ describe "Auditing" do
186
192
  it "new_value should be an id" do
187
193
  @car.audits.first.new_value.should == @new_automaker.id
188
194
  end
189
-
195
+
190
196
  it "old_value should be an id" do
191
197
  @car.audits.first.old_value.should == @automaker.id
192
198
  end
193
-
199
+
194
200
  it "should be reversable" do
195
201
  @car.audits.first.reversable?.should == true
196
202
  end
197
203
  end
198
204
  end
199
205
  end # belongs_to relationships
200
-
206
+
201
207
  end
data/spec/schema.rb CHANGED
@@ -36,19 +36,25 @@ ActiveRecord::Schema.define(:version => 0) do
36
36
  t.timestamps
37
37
  end
38
38
 
39
+ create_table :phone_numbers do |t|
40
+ t.string :number
41
+ t.string :extension
42
+ t.string :phoneable_type
43
+ t.integer :phoneable_id
44
+ t.timestamps
45
+ end
46
+
39
47
  create_table :people do |t|
40
48
  t.string :first_name
41
49
  t.string :last_name
42
50
  t.timestamps
43
51
  end
44
52
 
45
- create_table :phone_numbers do |t|
46
- t.string :number
47
- t.string :extension
48
- t.string :phoneable_type
49
- t.integer :phoneable_id
53
+ create_table :employments do |t|
54
+ t.integer :person_id
55
+ t.integer :company_id
56
+ t.string :start_date
50
57
  t.timestamps
51
58
  end
52
-
53
59
 
54
60
  end
data/spec/spec_helper.rb CHANGED
@@ -4,7 +4,6 @@ $LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', 'lib'))
4
4
  require 'active_record'
5
5
  require 'auditing'
6
6
  require 'rspec'
7
- # require 'spec/autorun'
8
7
 
9
8
  # our test database
10
9
  TEST_DB = File.join(File.dirname(__FILE__), '..', 'test.sqlite3')
metadata CHANGED
@@ -4,9 +4,9 @@ version: !ruby/object:Gem::Version
4
4
  prerelease: false
5
5
  segments:
6
6
  - 1
7
+ - 1
7
8
  - 0
8
- - 0
9
- version: 1.0.0
9
+ version: 1.1.0
10
10
  platform: ruby
11
11
  authors:
12
12
  - Brad Cantin
@@ -14,7 +14,7 @@ autorequire:
14
14
  bindir: bin
15
15
  cert_chain: []
16
16
 
17
- date: 2010-10-09 00:00:00 -04:00
17
+ date: 2010-10-16 00:00:00 -04:00
18
18
  default_executable:
19
19
  dependencies:
20
20
  - !ruby/object:Gem::Dependency
@@ -26,10 +26,9 @@ dependencies:
26
26
  - - ">="
27
27
  - !ruby/object:Gem::Version
28
28
  segments:
29
- - 1
30
29
  - 2
31
- - 9
32
- version: 1.2.9
30
+ - 0
31
+ version: "2.0"
33
32
  type: :development
34
33
  version_requirements: *id001
35
34
  description: acts_as_versioned is good. This allows an attribute level rollback instead