audited-hp 4.3.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.
Files changed (59) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +18 -0
  3. data/.travis.yml +32 -0
  4. data/.yardopts +3 -0
  5. data/Appraisals +22 -0
  6. data/CHANGELOG +153 -0
  7. data/Gemfile +3 -0
  8. data/LICENSE +19 -0
  9. data/README.md +299 -0
  10. data/Rakefile +18 -0
  11. data/gemfiles/rails40.gemfile +9 -0
  12. data/gemfiles/rails41.gemfile +8 -0
  13. data/gemfiles/rails42.gemfile +8 -0
  14. data/gemfiles/rails50.gemfile +8 -0
  15. data/lib/audited-rspec.rb +4 -0
  16. data/lib/audited.rb +29 -0
  17. data/lib/audited/audit.rb +149 -0
  18. data/lib/audited/auditor.rb +309 -0
  19. data/lib/audited/rspec_matchers.rb +177 -0
  20. data/lib/audited/sweeper.rb +60 -0
  21. data/lib/audited/version.rb +3 -0
  22. data/lib/generators/audited/install_generator.rb +20 -0
  23. data/lib/generators/audited/migration.rb +15 -0
  24. data/lib/generators/audited/templates/add_association_to_audits.rb +11 -0
  25. data/lib/generators/audited/templates/add_comment_to_audits.rb +9 -0
  26. data/lib/generators/audited/templates/add_remote_address_to_audits.rb +10 -0
  27. data/lib/generators/audited/templates/add_request_uuid_to_audits.rb +10 -0
  28. data/lib/generators/audited/templates/install.rb +30 -0
  29. data/lib/generators/audited/templates/rename_association_to_associated.rb +23 -0
  30. data/lib/generators/audited/templates/rename_changes_to_audited_changes.rb +9 -0
  31. data/lib/generators/audited/templates/rename_parent_to_association.rb +11 -0
  32. data/lib/generators/audited/upgrade_generator.rb +57 -0
  33. data/spec/audited/audit_spec.rb +199 -0
  34. data/spec/audited/auditor_spec.rb +607 -0
  35. data/spec/audited/sweeper_spec.rb +106 -0
  36. data/spec/audited_spec_helpers.rb +20 -0
  37. data/spec/rails_app/config/application.rb +8 -0
  38. data/spec/rails_app/config/database.yml +24 -0
  39. data/spec/rails_app/config/environment.rb +5 -0
  40. data/spec/rails_app/config/environments/development.rb +21 -0
  41. data/spec/rails_app/config/environments/production.rb +35 -0
  42. data/spec/rails_app/config/environments/test.rb +47 -0
  43. data/spec/rails_app/config/initializers/backtrace_silencers.rb +7 -0
  44. data/spec/rails_app/config/initializers/inflections.rb +2 -0
  45. data/spec/rails_app/config/initializers/secret_token.rb +3 -0
  46. data/spec/rails_app/config/routes.rb +3 -0
  47. data/spec/spec_helper.rb +21 -0
  48. data/spec/support/active_record/models.rb +99 -0
  49. data/spec/support/active_record/schema.rb +81 -0
  50. data/test/db/version_1.rb +17 -0
  51. data/test/db/version_2.rb +18 -0
  52. data/test/db/version_3.rb +19 -0
  53. data/test/db/version_4.rb +20 -0
  54. data/test/db/version_5.rb +18 -0
  55. data/test/db/version_6.rb +17 -0
  56. data/test/install_generator_test.rb +17 -0
  57. data/test/test_helper.rb +19 -0
  58. data/test/upgrade_generator_test.rb +77 -0
  59. metadata +229 -0
@@ -0,0 +1,17 @@
1
+ ActiveRecord::Schema.define do
2
+ create_table :audits, force: true do |t|
3
+ t.column :auditable_id, :integer
4
+ t.column :auditable_type, :string
5
+ t.column :user_id, :integer
6
+ t.column :user_type, :string
7
+ t.column :username, :string
8
+ t.column :action, :string
9
+ t.column :changes, :text
10
+ t.column :version, :integer, default: 0
11
+ t.column :created_at, :datetime
12
+ end
13
+
14
+ add_index :audits, [:auditable_id, :auditable_type], name: 'auditable_index'
15
+ add_index :audits, [:user_id, :user_type], name: 'user_index'
16
+ add_index :audits, :created_at
17
+ end
@@ -0,0 +1,18 @@
1
+ ActiveRecord::Schema.define do
2
+ create_table :audits, force: true do |t|
3
+ t.column :auditable_id, :integer
4
+ t.column :auditable_type, :string
5
+ t.column :user_id, :integer
6
+ t.column :user_type, :string
7
+ t.column :username, :string
8
+ t.column :action, :string
9
+ t.column :changes, :text
10
+ t.column :version, :integer, default: 0
11
+ t.column :comment, :string
12
+ t.column :created_at, :datetime
13
+ end
14
+
15
+ add_index :audits, [:auditable_id, :auditable_type], name: 'auditable_index'
16
+ add_index :audits, [:user_id, :user_type], name: 'user_index'
17
+ add_index :audits, :created_at
18
+ end
@@ -0,0 +1,19 @@
1
+ ActiveRecord::Schema.define do
2
+ create_table :audits, force: true do |t|
3
+ t.column :auditable_id, :integer
4
+ t.column :auditable_type, :string
5
+ t.column :user_id, :integer
6
+ t.column :user_type, :string
7
+ t.column :username, :string
8
+ t.column :action, :string
9
+ t.column :audited_changes, :text
10
+ t.column :version, :integer, default: 0
11
+ t.column :comment, :string
12
+ t.column :created_at, :datetime
13
+ end
14
+
15
+ add_index :audits, [:auditable_id, :auditable_type], name: 'auditable_index'
16
+ add_index :audits, [:user_id, :user_type], name: 'user_index'
17
+ add_index :audits, :created_at
18
+ end
19
+
@@ -0,0 +1,20 @@
1
+ ActiveRecord::Schema.define do
2
+ create_table :audits, force: true do |t|
3
+ t.column :auditable_id, :integer
4
+ t.column :auditable_type, :string
5
+ t.column :user_id, :integer
6
+ t.column :user_type, :string
7
+ t.column :username, :string
8
+ t.column :action, :string
9
+ t.column :audited_changes, :text
10
+ t.column :version, :integer, default: 0
11
+ t.column :comment, :string
12
+ t.column :created_at, :datetime
13
+ t.column :remote_address, :string
14
+ end
15
+
16
+ add_index :audits, [:auditable_id, :auditable_type], name: 'auditable_index'
17
+ add_index :audits, [:user_id, :user_type], name: 'user_index'
18
+ add_index :audits, :created_at
19
+ end
20
+
@@ -0,0 +1,18 @@
1
+ ActiveRecord::Schema.define do
2
+ create_table :audits, force: true do |t|
3
+ t.column :auditable_id, :integer
4
+ t.column :auditable_type, :string
5
+ t.column :user_id, :integer
6
+ t.column :user_type, :string
7
+ t.column :username, :string
8
+ t.column :action, :string
9
+ t.column :audited_changes, :text
10
+ t.column :version, :integer, default: 0
11
+ t.column :comment, :string
12
+ t.column :created_at, :datetime
13
+ t.column :remote_address, :string
14
+ t.column :association_id, :integer
15
+ t.column :association_type, :string
16
+ end
17
+ end
18
+
@@ -0,0 +1,17 @@
1
+ ActiveRecord::Schema.define do
2
+ create_table :audits, force: true do |t|
3
+ t.column :auditable_id, :integer
4
+ t.column :auditable_type, :string
5
+ t.column :user_id, :integer
6
+ t.column :user_type, :string
7
+ t.column :username, :string
8
+ t.column :action, :string
9
+ t.column :audited_changes, :text
10
+ t.column :version, :integer, default: 0
11
+ t.column :comment, :string
12
+ t.column :created_at, :datetime
13
+ t.column :remote_address, :string
14
+ t.column :associated_id, :integer
15
+ t.column :associated_type, :string
16
+ end
17
+ end
@@ -0,0 +1,17 @@
1
+ require 'test_helper'
2
+
3
+ require 'generators/audited/install_generator'
4
+
5
+ class InstallGeneratorTest < Rails::Generators::TestCase
6
+ destination File.expand_path('../../tmp', __FILE__)
7
+ setup :prepare_destination
8
+ tests Audited::Generators::InstallGenerator
9
+
10
+ test "should generate a migration" do
11
+ run_generator %w(install)
12
+
13
+ assert_migration "db/migrate/install_audited.rb" do |content|
14
+ assert_match(/class InstallAudited/, content)
15
+ end
16
+ end
17
+ end
@@ -0,0 +1,19 @@
1
+ ENV['RAILS_ENV'] = 'test'
2
+
3
+ $:.unshift File.dirname(__FILE__)
4
+
5
+ require File.expand_path('../../spec/rails_app/config/environment', __FILE__)
6
+ require 'rails/test_help'
7
+
8
+ require 'audited'
9
+
10
+ class ActiveSupport::TestCase
11
+
12
+ setup do
13
+ ActiveRecord::Migration.verbose = false
14
+ end
15
+
16
+ def load_schema( version )
17
+ load File.dirname(__FILE__) + "/db/version_#{version}.rb"
18
+ end
19
+ end
@@ -0,0 +1,77 @@
1
+ require 'test_helper'
2
+
3
+ require 'generators/audited/upgrade_generator'
4
+
5
+ class UpgradeGeneratorTest < Rails::Generators::TestCase
6
+ destination File.expand_path('../../tmp', __FILE__)
7
+ setup :prepare_destination
8
+ tests Audited::Generators::UpgradeGenerator
9
+ self.use_transactional_fixtures = false
10
+
11
+ test "should add 'comment' to audits table" do
12
+ load_schema 1
13
+
14
+ run_generator %w(upgrade)
15
+
16
+ assert_migration "db/migrate/add_comment_to_audits.rb" do |content|
17
+ assert_match(/add_column :audits, :comment, :string/, content)
18
+ end
19
+
20
+ assert_migration "db/migrate/rename_changes_to_audited_changes.rb"
21
+ end
22
+
23
+ test "should rename 'changes' to 'audited_changes'" do
24
+ load_schema 2
25
+
26
+ run_generator %w(upgrade)
27
+
28
+ assert_no_migration "db/migrate/add_comment_to_audits.rb"
29
+
30
+ assert_migration "db/migrate/rename_changes_to_audited_changes.rb" do |content|
31
+ assert_match(/rename_column :audits, :changes, :audited_changes/, content)
32
+ end
33
+ end
34
+
35
+ test "should add a 'remote_address' to audits table" do
36
+ load_schema 3
37
+
38
+ run_generator %w(upgrade)
39
+
40
+ assert_migration "db/migrate/add_remote_address_to_audits.rb" do |content|
41
+ assert_match(/add_column :audits, :remote_address, :string/, content)
42
+ end
43
+ end
44
+
45
+ test "should add 'association_id' and 'association_type' to audits table" do
46
+ load_schema 4
47
+
48
+ run_generator %w(upgrade)
49
+
50
+ assert_migration "db/migrate/add_association_to_audits.rb" do |content|
51
+ assert_match(/add_column :audits, :association_id, :integer/, content)
52
+ assert_match(/add_column :audits, :association_type, :string/, content)
53
+ end
54
+ end
55
+
56
+ test "should rename 'association_id' to 'associated_id' and 'association_type' to 'associated_type'" do
57
+ load_schema 5
58
+
59
+ run_generator %w(upgrade)
60
+
61
+ assert_migration "db/migrate/rename_association_to_associated.rb" do |content|
62
+ assert_match(/rename_column :audits, :association_id, :associated_id/, content)
63
+ assert_match(/rename_column :audits, :association_type, :associated_type/, content)
64
+ end
65
+ end
66
+
67
+ test "should add 'request_uuid' to audits table" do
68
+ load_schema 6
69
+
70
+ run_generator %w(upgrade)
71
+
72
+ assert_migration "db/migrate/add_request_uuid_to_audits.rb" do |content|
73
+ assert_match(/add_column :audits, :request_uuid, :string/, content)
74
+ assert_match(/add_index :audits, :request_uuid/, content)
75
+ end
76
+ end
77
+ end
metadata ADDED
@@ -0,0 +1,229 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: audited-hp
3
+ version: !ruby/object:Gem::Version
4
+ version: 4.3.0
5
+ platform: ruby
6
+ authors:
7
+ - Brandon Keepers
8
+ - Kenneth Kalmer
9
+ - Daniel Morrison
10
+ - Brian Ryckbost
11
+ - Steve Richert
12
+ - Ryan Glover
13
+ autorequire:
14
+ bindir: bin
15
+ cert_chain: []
16
+ date: 2017-03-15 00:00:00.000000000 Z
17
+ dependencies:
18
+ - !ruby/object:Gem::Dependency
19
+ name: activerecord
20
+ requirement: !ruby/object:Gem::Requirement
21
+ requirements:
22
+ - - ">="
23
+ - !ruby/object:Gem::Version
24
+ version: '4.0'
25
+ - - "<"
26
+ - !ruby/object:Gem::Version
27
+ version: '5.1'
28
+ type: :runtime
29
+ prerelease: false
30
+ version_requirements: !ruby/object:Gem::Requirement
31
+ requirements:
32
+ - - ">="
33
+ - !ruby/object:Gem::Version
34
+ version: '4.0'
35
+ - - "<"
36
+ - !ruby/object:Gem::Version
37
+ version: '5.1'
38
+ - !ruby/object:Gem::Dependency
39
+ name: rails-observers
40
+ requirement: !ruby/object:Gem::Requirement
41
+ requirements:
42
+ - - "~>"
43
+ - !ruby/object:Gem::Version
44
+ version: 0.1.2
45
+ type: :runtime
46
+ prerelease: false
47
+ version_requirements: !ruby/object:Gem::Requirement
48
+ requirements:
49
+ - - "~>"
50
+ - !ruby/object:Gem::Version
51
+ version: 0.1.2
52
+ - !ruby/object:Gem::Dependency
53
+ name: appraisal
54
+ requirement: !ruby/object:Gem::Requirement
55
+ requirements:
56
+ - - ">="
57
+ - !ruby/object:Gem::Version
58
+ version: '0'
59
+ type: :development
60
+ prerelease: false
61
+ version_requirements: !ruby/object:Gem::Requirement
62
+ requirements:
63
+ - - ">="
64
+ - !ruby/object:Gem::Version
65
+ version: '0'
66
+ - !ruby/object:Gem::Dependency
67
+ name: rails
68
+ requirement: !ruby/object:Gem::Requirement
69
+ requirements:
70
+ - - ">="
71
+ - !ruby/object:Gem::Version
72
+ version: '4.0'
73
+ - - "<"
74
+ - !ruby/object:Gem::Version
75
+ version: '5.1'
76
+ type: :development
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - ">="
81
+ - !ruby/object:Gem::Version
82
+ version: '4.0'
83
+ - - "<"
84
+ - !ruby/object:Gem::Version
85
+ version: '5.1'
86
+ - !ruby/object:Gem::Dependency
87
+ name: rspec-rails
88
+ requirement: !ruby/object:Gem::Requirement
89
+ requirements:
90
+ - - "~>"
91
+ - !ruby/object:Gem::Version
92
+ version: '3.5'
93
+ type: :development
94
+ prerelease: false
95
+ version_requirements: !ruby/object:Gem::Requirement
96
+ requirements:
97
+ - - "~>"
98
+ - !ruby/object:Gem::Version
99
+ version: '3.5'
100
+ - !ruby/object:Gem::Dependency
101
+ name: sqlite3
102
+ requirement: !ruby/object:Gem::Requirement
103
+ requirements:
104
+ - - "~>"
105
+ - !ruby/object:Gem::Version
106
+ version: '1.3'
107
+ type: :development
108
+ prerelease: false
109
+ version_requirements: !ruby/object:Gem::Requirement
110
+ requirements:
111
+ - - "~>"
112
+ - !ruby/object:Gem::Version
113
+ version: '1.3'
114
+ - !ruby/object:Gem::Dependency
115
+ name: mysql2
116
+ requirement: !ruby/object:Gem::Requirement
117
+ requirements:
118
+ - - "~>"
119
+ - !ruby/object:Gem::Version
120
+ version: 0.3.20
121
+ type: :development
122
+ prerelease: false
123
+ version_requirements: !ruby/object:Gem::Requirement
124
+ requirements:
125
+ - - "~>"
126
+ - !ruby/object:Gem::Version
127
+ version: 0.3.20
128
+ - !ruby/object:Gem::Dependency
129
+ name: pg
130
+ requirement: !ruby/object:Gem::Requirement
131
+ requirements:
132
+ - - "~>"
133
+ - !ruby/object:Gem::Version
134
+ version: '0.18'
135
+ type: :development
136
+ prerelease: false
137
+ version_requirements: !ruby/object:Gem::Requirement
138
+ requirements:
139
+ - - "~>"
140
+ - !ruby/object:Gem::Version
141
+ version: '0.18'
142
+ description: Log all changes to your models
143
+ email: info@collectiveidea.com
144
+ executables: []
145
+ extensions: []
146
+ extra_rdoc_files: []
147
+ files:
148
+ - ".gitignore"
149
+ - ".travis.yml"
150
+ - ".yardopts"
151
+ - Appraisals
152
+ - CHANGELOG
153
+ - Gemfile
154
+ - LICENSE
155
+ - README.md
156
+ - Rakefile
157
+ - gemfiles/rails40.gemfile
158
+ - gemfiles/rails41.gemfile
159
+ - gemfiles/rails42.gemfile
160
+ - gemfiles/rails50.gemfile
161
+ - lib/audited-rspec.rb
162
+ - lib/audited.rb
163
+ - lib/audited/audit.rb
164
+ - lib/audited/auditor.rb
165
+ - lib/audited/rspec_matchers.rb
166
+ - lib/audited/sweeper.rb
167
+ - lib/audited/version.rb
168
+ - lib/generators/audited/install_generator.rb
169
+ - lib/generators/audited/migration.rb
170
+ - lib/generators/audited/templates/add_association_to_audits.rb
171
+ - lib/generators/audited/templates/add_comment_to_audits.rb
172
+ - lib/generators/audited/templates/add_remote_address_to_audits.rb
173
+ - lib/generators/audited/templates/add_request_uuid_to_audits.rb
174
+ - lib/generators/audited/templates/install.rb
175
+ - lib/generators/audited/templates/rename_association_to_associated.rb
176
+ - lib/generators/audited/templates/rename_changes_to_audited_changes.rb
177
+ - lib/generators/audited/templates/rename_parent_to_association.rb
178
+ - lib/generators/audited/upgrade_generator.rb
179
+ - spec/audited/audit_spec.rb
180
+ - spec/audited/auditor_spec.rb
181
+ - spec/audited/sweeper_spec.rb
182
+ - spec/audited_spec_helpers.rb
183
+ - spec/rails_app/config/application.rb
184
+ - spec/rails_app/config/database.yml
185
+ - spec/rails_app/config/environment.rb
186
+ - spec/rails_app/config/environments/development.rb
187
+ - spec/rails_app/config/environments/production.rb
188
+ - spec/rails_app/config/environments/test.rb
189
+ - spec/rails_app/config/initializers/backtrace_silencers.rb
190
+ - spec/rails_app/config/initializers/inflections.rb
191
+ - spec/rails_app/config/initializers/secret_token.rb
192
+ - spec/rails_app/config/routes.rb
193
+ - spec/spec_helper.rb
194
+ - spec/support/active_record/models.rb
195
+ - spec/support/active_record/schema.rb
196
+ - test/db/version_1.rb
197
+ - test/db/version_2.rb
198
+ - test/db/version_3.rb
199
+ - test/db/version_4.rb
200
+ - test/db/version_5.rb
201
+ - test/db/version_6.rb
202
+ - test/install_generator_test.rb
203
+ - test/test_helper.rb
204
+ - test/upgrade_generator_test.rb
205
+ homepage: https://github.com/collectiveidea/audited
206
+ licenses:
207
+ - MIT
208
+ metadata: {}
209
+ post_install_message:
210
+ rdoc_options: []
211
+ require_paths:
212
+ - lib
213
+ required_ruby_version: !ruby/object:Gem::Requirement
214
+ requirements:
215
+ - - ">="
216
+ - !ruby/object:Gem::Version
217
+ version: '0'
218
+ required_rubygems_version: !ruby/object:Gem::Requirement
219
+ requirements:
220
+ - - ">="
221
+ - !ruby/object:Gem::Version
222
+ version: '0'
223
+ requirements: []
224
+ rubyforge_project:
225
+ rubygems_version: 2.5.1
226
+ signing_key:
227
+ specification_version: 4
228
+ summary: Log all changes to your models
229
+ test_files: []