audited-hp 4.3.0

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