audited 4.6.0 → 4.10.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.

Potentially problematic release.


This version of audited might be problematic. Click here for more details.

Files changed (39) hide show
  1. checksums.yaml +5 -5
  2. data/.gitignore +0 -1
  3. data/.rubocop.yml +25 -0
  4. data/.travis.yml +35 -21
  5. data/Appraisals +29 -12
  6. data/CHANGELOG.md +108 -0
  7. data/README.md +125 -39
  8. data/gemfiles/rails42.gemfile +3 -0
  9. data/gemfiles/rails50.gemfile +3 -0
  10. data/gemfiles/rails51.gemfile +3 -0
  11. data/gemfiles/rails52.gemfile +4 -2
  12. data/gemfiles/rails60.gemfile +10 -0
  13. data/gemfiles/rails61.gemfile +10 -0
  14. data/lib/audited.rb +2 -1
  15. data/lib/audited/audit.rb +31 -25
  16. data/lib/audited/auditor.rb +199 -39
  17. data/lib/audited/rspec_matchers.rb +70 -21
  18. data/lib/audited/version.rb +1 -1
  19. data/lib/generators/audited/templates/add_version_to_auditable_index.rb +21 -0
  20. data/lib/generators/audited/templates/install.rb +1 -1
  21. data/lib/generators/audited/upgrade_generator.rb +4 -0
  22. data/spec/audited/audit_spec.rb +88 -21
  23. data/spec/audited/auditor_spec.rb +450 -57
  24. data/spec/audited/rspec_matchers_spec.rb +69 -0
  25. data/spec/audited/sweeper_spec.rb +15 -6
  26. data/spec/audited_spec_helpers.rb +16 -2
  27. data/spec/rails_app/app/assets/config/manifest.js +1 -0
  28. data/spec/rails_app/app/controllers/application_controller.rb +2 -0
  29. data/spec/rails_app/config/application.rb +5 -0
  30. data/spec/rails_app/config/database.yml +1 -0
  31. data/spec/spec_helper.rb +4 -1
  32. data/spec/support/active_record/models.rb +50 -3
  33. data/spec/support/active_record/schema.rb +4 -2
  34. data/test/db/version_6.rb +2 -0
  35. data/test/test_helper.rb +1 -2
  36. data/test/upgrade_generator_test.rb +10 -0
  37. metadata +60 -22
  38. data/gemfiles/rails40.gemfile +0 -9
  39. data/gemfiles/rails41.gemfile +0 -8
@@ -0,0 +1,69 @@
1
+ require "spec_helper"
2
+
3
+ describe Models::ActiveRecord::UserExceptPassword do
4
+ let(:non_audited_columns) { subject.class.non_audited_columns }
5
+
6
+ it { should_not be_audited.only(non_audited_columns) }
7
+ it { should be_audited.except(:password) }
8
+ it { should_not be_audited.requires_comment }
9
+ it { should be_audited.on(:create, :update, :destroy) }
10
+ # test chaining
11
+ it { should be_audited.except(:password).on(:create, :update, :destroy) }
12
+ end
13
+
14
+ describe Models::ActiveRecord::UserOnlyPassword do
15
+ let(:audited_columns) { subject.class.audited_columns }
16
+
17
+ it { should be_audited.only(:password) }
18
+ it { should_not be_audited.except(audited_columns) }
19
+ it { should_not be_audited.requires_comment }
20
+ it { should be_audited.on(:create, :update, :destroy) }
21
+ it { should be_audited.only(:password).on(:create, :update, :destroy) }
22
+ end
23
+
24
+ describe Models::ActiveRecord::CommentRequiredUser do
25
+ let(:audited_columns) { subject.class.audited_columns }
26
+ let(:non_audited_columns) { subject.class.non_audited_columns }
27
+
28
+ it { should_not be_audited.only(non_audited_columns) }
29
+ it { should_not be_audited.except(audited_columns) }
30
+ it { should be_audited.requires_comment }
31
+ it { should be_audited.on(:create, :update, :destroy) }
32
+ it { should be_audited.requires_comment.on(:create, :update, :destroy) }
33
+ end
34
+
35
+ describe Models::ActiveRecord::OnCreateCommentRequiredUser do
36
+ let(:audited_columns) { subject.class.audited_columns }
37
+ let(:non_audited_columns) { subject.class.non_audited_columns }
38
+
39
+ it { should_not be_audited.only(non_audited_columns) }
40
+ it { should_not be_audited.except(audited_columns) }
41
+ it { should be_audited.requires_comment }
42
+ it { should be_audited.on(:create) }
43
+ it { should_not be_audited.on(:update, :destroy) }
44
+ it { should be_audited.requires_comment.on(:create) }
45
+ end
46
+
47
+ describe Models::ActiveRecord::OnUpdateCommentRequiredUser do
48
+ let(:audited_columns) { subject.class.audited_columns }
49
+ let(:non_audited_columns) { subject.class.non_audited_columns }
50
+
51
+ it { should_not be_audited.only(non_audited_columns) }
52
+ it { should_not be_audited.except(audited_columns) }
53
+ it { should be_audited.requires_comment }
54
+ it { should be_audited.on(:update) }
55
+ it { should_not be_audited.on(:create, :destroy) }
56
+ it { should be_audited.requires_comment.on(:update) }
57
+ end
58
+
59
+ describe Models::ActiveRecord::OnDestroyCommentRequiredUser do
60
+ let(:audited_columns) { subject.class.audited_columns }
61
+ let(:non_audited_columns) { subject.class.non_audited_columns }
62
+
63
+ it { should_not be_audited.only(non_audited_columns) }
64
+ it { should_not be_audited.except(audited_columns) }
65
+ it { should be_audited.requires_comment }
66
+ it { should be_audited.on(:destroy) }
67
+ it { should_not be_audited.on(:create, :update) }
68
+ it { should be_audited.requires_comment.on(:destroy) }
69
+ end
@@ -1,5 +1,7 @@
1
1
  require "spec_helper"
2
2
 
3
+ SingleCov.covered! uncovered: 2 # 2 conditional on_load conditions
4
+
3
5
  class AuditsController < ActionController::Base
4
6
  before_action :populate_user
5
7
 
@@ -11,7 +13,7 @@ class AuditsController < ActionController::Base
11
13
  end
12
14
 
13
15
  def update
14
- current_user.update_attributes(password: 'foo')
16
+ current_user.update!(password: 'foo')
15
17
  head :ok
16
18
  end
17
19
 
@@ -27,14 +29,13 @@ describe AuditsController do
27
29
  include RSpec::Rails::ControllerExampleGroup
28
30
  render_views
29
31
 
30
- before(:each) do
32
+ before do
31
33
  Audited.current_user_method = :current_user
32
34
  end
33
35
 
34
36
  let(:user) { create_user }
35
37
 
36
38
  describe "POST audit" do
37
-
38
39
  it "should audit user" do
39
40
  controller.send(:current_user=, user)
40
41
  expect {
@@ -44,6 +45,15 @@ describe AuditsController do
44
45
  expect(controller.company.audits.last.user).to eq(user)
45
46
  end
46
47
 
48
+ it "does not audit when method is not found" do
49
+ controller.send(:current_user=, user)
50
+ Audited.current_user_method = :nope
51
+ expect {
52
+ post :create
53
+ }.to change( Audited::Audit, :count )
54
+ expect(controller.company.audits.last.user).to eq(nil)
55
+ end
56
+
47
57
  it "should support custom users for sweepers" do
48
58
  controller.send(:custom_user=, user)
49
59
  Audited.current_user_method = :custom_user
@@ -84,7 +94,6 @@ describe AuditsController do
84
94
 
85
95
  expect(controller.company.audits.last.user).to eq(user)
86
96
  end
87
-
88
97
  end
89
98
 
90
99
  describe "PUT update" do
@@ -92,13 +101,13 @@ describe AuditsController do
92
101
  controller.send(:current_user=, user)
93
102
 
94
103
  expect {
95
- put :update, Rails::VERSION::MAJOR == 4 ? {id: 123} : {params: {id: 123}}
104
+ params = Rails::VERSION::MAJOR == 4 ? {id: 123} : {params: {id: 123}}
105
+ put :update, **params
96
106
  }.to_not change( Audited::Audit, :count )
97
107
  end
98
108
  end
99
109
  end
100
110
 
101
-
102
111
  describe Audited::Sweeper do
103
112
 
104
113
  it "should be thread-safe" do
@@ -8,8 +8,8 @@ module AuditedSpecHelpers
8
8
  Models::ActiveRecord::User.new({name: 'darth', username: 'darth', password: 'noooooooo'}.merge(attrs))
9
9
  end
10
10
 
11
- def create_versions(n = 2)
12
- Models::ActiveRecord::User.create(name: 'Foobar 1').tap do |u|
11
+ def create_versions(n = 2, attrs = {})
12
+ Models::ActiveRecord::User.create(name: 'Foobar 1', **attrs).tap do |u|
13
13
  (n - 1).times do |i|
14
14
  u.update_attribute :name, "Foobar #{i + 2}"
15
15
  end
@@ -17,4 +17,18 @@ module AuditedSpecHelpers
17
17
  end
18
18
  end
19
19
 
20
+ def run_migrations(direction, migrations_paths, target_version = nil)
21
+ if rails_below?('5.2.0.rc1')
22
+ ActiveRecord::Migrator.send(direction, migrations_paths, target_version)
23
+ elsif rails_below?('6.0.0.rc1')
24
+ ActiveRecord::MigrationContext.new(migrations_paths).send(direction, target_version)
25
+ else
26
+ ActiveRecord::MigrationContext.new(migrations_paths, ActiveRecord::SchemaMigration).send(direction, target_version)
27
+ end
28
+ end
29
+
30
+ def rails_below?(rails_version)
31
+ Gem::Version.new(Rails::VERSION::STRING) < Gem::Version.new(rails_version)
32
+ end
33
+
20
34
  end
@@ -0,0 +1,2 @@
1
+ class ApplicationController < ActionController::Base
2
+ end
@@ -6,3 +6,8 @@ module RailsApp
6
6
  config.i18n.enforce_available_locales = true
7
7
  end
8
8
  end
9
+
10
+ require 'active_record/connection_adapters/sqlite3_adapter'
11
+ if ActiveRecord::ConnectionAdapters::SQLite3Adapter.respond_to?(:represent_boolean_as_integer)
12
+ ActiveRecord::ConnectionAdapters::SQLite3Adapter.represent_boolean_as_integer = true
13
+ end
@@ -19,6 +19,7 @@ mysql: &MYSQL
19
19
  username: root
20
20
  password:
21
21
  database: audited_test
22
+ charset: utf8
22
23
 
23
24
  test:
24
25
  <<: *<%= ENV['DB'] || 'SQLITE3MEM' %>
@@ -1,12 +1,15 @@
1
1
  ENV['RAILS_ENV'] = 'test'
2
+ require 'bundler/setup'
3
+ require 'single_cov'
4
+ SingleCov.setup :rspec
2
5
 
3
- require 'bundler'
4
6
  if Bundler.definition.dependencies.map(&:name).include?('protected_attributes')
5
7
  require 'protected_attributes'
6
8
  end
7
9
  require 'rails_app/config/environment'
8
10
  require 'rspec/rails'
9
11
  require 'audited'
12
+ require 'audited-rspec'
10
13
  require 'audited_spec_helpers'
11
14
  require 'support/active_record/models'
12
15
 
@@ -4,19 +4,40 @@ require File.expand_path('../schema', __FILE__)
4
4
  module Models
5
5
  module ActiveRecord
6
6
  class User < ::ActiveRecord::Base
7
- audited allow_mass_assignment: true, except: :password
7
+ audited except: :password
8
8
  attribute :non_column_attr if Rails.version >= '5.1'
9
9
  attr_protected :logins if respond_to?(:attr_protected)
10
+ enum status: { active: 0, reliable: 1, banned: 2 }
10
11
 
11
12
  def name=(val)
12
13
  write_attribute(:name, CGI.escapeHTML(val))
13
14
  end
14
15
  end
15
16
 
17
+ class UserExceptPassword < ::ActiveRecord::Base
18
+ self.table_name = :users
19
+ audited except: :password
20
+ end
21
+
16
22
  class UserOnlyPassword < ::ActiveRecord::Base
17
23
  self.table_name = :users
18
24
  attribute :non_column_attr if Rails.version >= '5.1'
19
- audited allow_mass_assignment: true, only: :password
25
+ audited only: :password
26
+ end
27
+
28
+ class UserRedactedPassword < ::ActiveRecord::Base
29
+ self.table_name = :users
30
+ audited redacted: :password
31
+ end
32
+
33
+ class UserMultipleRedactedAttributes < ::ActiveRecord::Base
34
+ self.table_name = :users
35
+ audited redacted: [:password, :ssn]
36
+ end
37
+
38
+ class UserRedactedPasswordCustomRedaction < ::ActiveRecord::Base
39
+ self.table_name = :users
40
+ audited redacted: :password, redaction_value: ["My", "Custom", "Value", 7]
20
41
  end
21
42
 
22
43
  class CommentRequiredUser < ::ActiveRecord::Base
@@ -24,6 +45,26 @@ module Models
24
45
  audited comment_required: true
25
46
  end
26
47
 
48
+ class OnCreateCommentRequiredUser < ::ActiveRecord::Base
49
+ self.table_name = :users
50
+ audited comment_required: true, on: :create
51
+ end
52
+
53
+ class OnUpdateCommentRequiredUser < ::ActiveRecord::Base
54
+ self.table_name = :users
55
+ audited comment_required: true, on: :update
56
+ end
57
+
58
+ class OnDestroyCommentRequiredUser < ::ActiveRecord::Base
59
+ self.table_name = :users
60
+ audited comment_required: true, on: :destroy
61
+ end
62
+
63
+ class NoUpdateWithCommentOnlyUser < ::ActiveRecord::Base
64
+ self.table_name = :users
65
+ audited update_with_comment_only: false
66
+ end
67
+
27
68
  class AccessibleAfterDeclarationUser < ::ActiveRecord::Base
28
69
  self.table_name = :users
29
70
  audited
@@ -38,7 +79,7 @@ module Models
38
79
 
39
80
  class NoAttributeProtectionUser < ::ActiveRecord::Base
40
81
  self.table_name = :users
41
- audited allow_mass_assignment: true
82
+ audited
42
83
  end
43
84
 
44
85
  class UserWithAfterAudit < ::ActiveRecord::Base
@@ -57,6 +98,11 @@ module Models
57
98
  end
58
99
  end
59
100
 
101
+ class MaxAuditsUser < ::ActiveRecord::Base
102
+ self.table_name = :users
103
+ audited max_audits: 5
104
+ end
105
+
60
106
  class Company < ::ActiveRecord::Base
61
107
  audited
62
108
  end
@@ -66,6 +112,7 @@ module Models
66
112
 
67
113
  class Owner < ::ActiveRecord::Base
68
114
  self.table_name = 'users'
115
+ audited
69
116
  has_associated_audits
70
117
  has_many :companies, class_name: "OwnedCompany", dependent: :destroy
71
118
  end
@@ -15,10 +15,10 @@ begin
15
15
  db_config[:configure_connection] = false
16
16
  end
17
17
  adapter = ActiveRecord::Base.send("#{db_type}_connection", db_config)
18
- adapter.recreate_database db_name
18
+ adapter.recreate_database db_name, db_config.slice('charset').symbolize_keys
19
19
  adapter.disconnect!
20
20
  end
21
- rescue Exception => e
21
+ rescue => e
22
22
  Kernel.warn e
23
23
  end
24
24
 
@@ -35,11 +35,13 @@ ActiveRecord::Schema.define do
35
35
  t.column :username, :string
36
36
  t.column :password, :string
37
37
  t.column :activated, :boolean
38
+ t.column :status, :integer, default: 0
38
39
  t.column :suspended_at, :datetime
39
40
  t.column :logins, :integer, default: 0
40
41
  t.column :created_at, :datetime
41
42
  t.column :updated_at, :datetime
42
43
  t.column :favourite_device, :string
44
+ t.column :ssn, :integer
43
45
  end
44
46
 
45
47
  create_table :companies do |t|
@@ -14,4 +14,6 @@ ActiveRecord::Schema.define do
14
14
  t.column :associated_id, :integer
15
15
  t.column :associated_type, :string
16
16
  end
17
+
18
+ add_index :audits, [:auditable_type, :auditable_id], name: 'auditable_index'
17
19
  end
@@ -1,6 +1,6 @@
1
1
  ENV['RAILS_ENV'] = 'test'
2
2
 
3
- $:.unshift File.dirname(__FILE__)
3
+ $LOAD_PATH.unshift File.dirname(__FILE__)
4
4
 
5
5
  require File.expand_path('../../spec/rails_app/config/environment', __FILE__)
6
6
  require 'rails/test_help'
@@ -8,7 +8,6 @@ require 'rails/test_help'
8
8
  require 'audited'
9
9
 
10
10
  class ActiveSupport::TestCase
11
-
12
11
  setup do
13
12
  ActiveRecord::Migration.verbose = false
14
13
  end
@@ -79,6 +79,16 @@ class UpgradeGeneratorTest < Rails::Generators::TestCase
79
79
  end
80
80
  end
81
81
 
82
+ test "should add 'version' to auditable_index" do
83
+ load_schema 6
84
+
85
+ run_generator %w(upgrade)
86
+
87
+ assert_migration "db/migrate/add_version_to_auditable_index.rb" do |content|
88
+ assert_match(/add_index :audits, \[:auditable_type, :auditable_id, :version\]/, content)
89
+ end
90
+ end
91
+
82
92
  test "generate migration with correct AR migration parent" do
83
93
  load_schema 1
84
94
 
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: audited
3
3
  version: !ruby/object:Gem::Version
4
- version: 4.6.0
4
+ version: 4.10.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Brandon Keepers
@@ -10,10 +10,10 @@ authors:
10
10
  - Brian Ryckbost
11
11
  - Steve Richert
12
12
  - Ryan Glover
13
- autorequire:
13
+ autorequire:
14
14
  bindir: bin
15
15
  cert_chain: []
16
- date: 2018-01-09 00:00:00.000000000 Z
16
+ date: 2021-01-08 00:00:00.000000000 Z
17
17
  dependencies:
18
18
  - !ruby/object:Gem::Dependency
19
19
  name: activerecord
@@ -21,20 +21,20 @@ dependencies:
21
21
  requirements:
22
22
  - - ">="
23
23
  - !ruby/object:Gem::Version
24
- version: '4.0'
24
+ version: '4.2'
25
25
  - - "<"
26
26
  - !ruby/object:Gem::Version
27
- version: '5.2'
27
+ version: '6.2'
28
28
  type: :runtime
29
29
  prerelease: false
30
30
  version_requirements: !ruby/object:Gem::Requirement
31
31
  requirements:
32
32
  - - ">="
33
33
  - !ruby/object:Gem::Version
34
- version: '4.0'
34
+ version: '4.2'
35
35
  - - "<"
36
36
  - !ruby/object:Gem::Version
37
- version: '5.2'
37
+ version: '6.2'
38
38
  - !ruby/object:Gem::Dependency
39
39
  name: appraisal
40
40
  requirement: !ruby/object:Gem::Requirement
@@ -55,20 +55,34 @@ dependencies:
55
55
  requirements:
56
56
  - - ">="
57
57
  - !ruby/object:Gem::Version
58
- version: '4.0'
58
+ version: '4.2'
59
59
  - - "<"
60
60
  - !ruby/object:Gem::Version
61
- version: '5.2'
61
+ version: '6.2'
62
62
  type: :development
63
63
  prerelease: false
64
64
  version_requirements: !ruby/object:Gem::Requirement
65
65
  requirements:
66
66
  - - ">="
67
67
  - !ruby/object:Gem::Version
68
- version: '4.0'
68
+ version: '4.2'
69
69
  - - "<"
70
70
  - !ruby/object:Gem::Version
71
- version: '5.2'
71
+ version: '6.2'
72
+ - !ruby/object:Gem::Dependency
73
+ name: rubocop
74
+ requirement: !ruby/object:Gem::Requirement
75
+ requirements:
76
+ - - "~>"
77
+ - !ruby/object:Gem::Version
78
+ version: 0.54.0
79
+ type: :development
80
+ prerelease: false
81
+ version_requirements: !ruby/object:Gem::Requirement
82
+ requirements:
83
+ - - "~>"
84
+ - !ruby/object:Gem::Version
85
+ version: 0.54.0
72
86
  - !ruby/object:Gem::Dependency
73
87
  name: rspec-rails
74
88
  requirement: !ruby/object:Gem::Requirement
@@ -83,6 +97,20 @@ dependencies:
83
97
  - - "~>"
84
98
  - !ruby/object:Gem::Version
85
99
  version: '3.5'
100
+ - !ruby/object:Gem::Dependency
101
+ name: single_cov
102
+ requirement: !ruby/object:Gem::Requirement
103
+ requirements:
104
+ - - ">="
105
+ - !ruby/object:Gem::Version
106
+ version: '0'
107
+ type: :development
108
+ prerelease: false
109
+ version_requirements: !ruby/object:Gem::Requirement
110
+ requirements:
111
+ - - ">="
112
+ - !ruby/object:Gem::Version
113
+ version: '0'
86
114
  - !ruby/object:Gem::Dependency
87
115
  name: sqlite3
88
116
  requirement: !ruby/object:Gem::Requirement
@@ -101,30 +129,36 @@ dependencies:
101
129
  name: mysql2
102
130
  requirement: !ruby/object:Gem::Requirement
103
131
  requirements:
104
- - - "~>"
132
+ - - ">="
105
133
  - !ruby/object:Gem::Version
106
134
  version: 0.3.20
107
135
  type: :development
108
136
  prerelease: false
109
137
  version_requirements: !ruby/object:Gem::Requirement
110
138
  requirements:
111
- - - "~>"
139
+ - - ">="
112
140
  - !ruby/object:Gem::Version
113
141
  version: 0.3.20
114
142
  - !ruby/object:Gem::Dependency
115
143
  name: pg
116
144
  requirement: !ruby/object:Gem::Requirement
117
145
  requirements:
118
- - - "~>"
146
+ - - ">="
119
147
  - !ruby/object:Gem::Version
120
148
  version: '0.18'
149
+ - - "<"
150
+ - !ruby/object:Gem::Version
151
+ version: '2.0'
121
152
  type: :development
122
153
  prerelease: false
123
154
  version_requirements: !ruby/object:Gem::Requirement
124
155
  requirements:
125
- - - "~>"
156
+ - - ">="
126
157
  - !ruby/object:Gem::Version
127
158
  version: '0.18'
159
+ - - "<"
160
+ - !ruby/object:Gem::Version
161
+ version: '2.0'
128
162
  description: Log all changes to your models
129
163
  email: info@collectiveidea.com
130
164
  executables: []
@@ -132,6 +166,7 @@ extensions: []
132
166
  extra_rdoc_files: []
133
167
  files:
134
168
  - ".gitignore"
169
+ - ".rubocop.yml"
135
170
  - ".travis.yml"
136
171
  - ".yardopts"
137
172
  - Appraisals
@@ -140,12 +175,12 @@ files:
140
175
  - LICENSE
141
176
  - README.md
142
177
  - Rakefile
143
- - gemfiles/rails40.gemfile
144
- - gemfiles/rails41.gemfile
145
178
  - gemfiles/rails42.gemfile
146
179
  - gemfiles/rails50.gemfile
147
180
  - gemfiles/rails51.gemfile
148
181
  - gemfiles/rails52.gemfile
182
+ - gemfiles/rails60.gemfile
183
+ - gemfiles/rails61.gemfile
149
184
  - lib/audited-rspec.rb
150
185
  - lib/audited.rb
151
186
  - lib/audited/audit.rb
@@ -160,6 +195,7 @@ files:
160
195
  - lib/generators/audited/templates/add_comment_to_audits.rb
161
196
  - lib/generators/audited/templates/add_remote_address_to_audits.rb
162
197
  - lib/generators/audited/templates/add_request_uuid_to_audits.rb
198
+ - lib/generators/audited/templates/add_version_to_auditable_index.rb
163
199
  - lib/generators/audited/templates/install.rb
164
200
  - lib/generators/audited/templates/rename_association_to_associated.rb
165
201
  - lib/generators/audited/templates/rename_changes_to_audited_changes.rb
@@ -168,8 +204,11 @@ files:
168
204
  - lib/generators/audited/upgrade_generator.rb
169
205
  - spec/audited/audit_spec.rb
170
206
  - spec/audited/auditor_spec.rb
207
+ - spec/audited/rspec_matchers_spec.rb
171
208
  - spec/audited/sweeper_spec.rb
172
209
  - spec/audited_spec_helpers.rb
210
+ - spec/rails_app/app/assets/config/manifest.js
211
+ - spec/rails_app/app/controllers/application_controller.rb
173
212
  - spec/rails_app/config/application.rb
174
213
  - spec/rails_app/config/database.yml
175
214
  - spec/rails_app/config/environment.rb
@@ -198,7 +237,7 @@ homepage: https://github.com/collectiveidea/audited
198
237
  licenses:
199
238
  - MIT
200
239
  metadata: {}
201
- post_install_message:
240
+ post_install_message:
202
241
  rdoc_options: []
203
242
  require_paths:
204
243
  - lib
@@ -206,16 +245,15 @@ required_ruby_version: !ruby/object:Gem::Requirement
206
245
  requirements:
207
246
  - - ">="
208
247
  - !ruby/object:Gem::Version
209
- version: '0'
248
+ version: 2.3.0
210
249
  required_rubygems_version: !ruby/object:Gem::Requirement
211
250
  requirements:
212
251
  - - ">="
213
252
  - !ruby/object:Gem::Version
214
253
  version: '0'
215
254
  requirements: []
216
- rubyforge_project:
217
- rubygems_version: 2.6.13
218
- signing_key:
255
+ rubygems_version: 3.1.4
256
+ signing_key:
219
257
  specification_version: 4
220
258
  summary: Log all changes to your models
221
259
  test_files: []