paper_trail 7.0.3 → 7.1.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.github/CONTRIBUTING.md +21 -27
- data/.gitignore +4 -4
- data/.rubocop.yml +2 -2
- data/CHANGELOG.md +17 -0
- data/README.md +31 -2
- data/Rakefile +4 -1
- data/lib/paper_trail.rb +2 -0
- data/lib/paper_trail/serializers/json.rb +9 -0
- data/lib/paper_trail/version_concern.rb +1 -1
- data/lib/paper_trail/version_number.rb +2 -2
- data/paper_trail.gemspec +2 -3
- data/spec/controllers/widgets_controller_spec.rb +85 -0
- data/{test/dummy → spec/dummy_app}/Rakefile +0 -0
- data/{test/dummy → spec/dummy_app}/app/controllers/application_controller.rb +0 -0
- data/{test/dummy → spec/dummy_app}/app/controllers/articles_controller.rb +0 -0
- data/{test/dummy → spec/dummy_app}/app/controllers/test_controller.rb +0 -0
- data/{test/dummy → spec/dummy_app}/app/controllers/widgets_controller.rb +0 -0
- data/{test/dummy → spec/dummy_app}/app/models/animal.rb +0 -0
- data/{test/dummy → spec/dummy_app}/app/models/article.rb +1 -0
- data/{test/dummy → spec/dummy_app}/app/models/authorship.rb +0 -0
- data/{test/dummy → spec/dummy_app}/app/models/bar_habtm.rb +0 -0
- data/{test/dummy → spec/dummy_app}/app/models/book.rb +0 -0
- data/{test/dummy → spec/dummy_app}/app/models/boolit.rb +0 -0
- data/{test/dummy → spec/dummy_app}/app/models/callback_modifier.rb +0 -0
- data/{test/dummy → spec/dummy_app}/app/models/car.rb +0 -0
- data/{test/dummy → spec/dummy_app}/app/models/cat.rb +0 -0
- data/{test/dummy → spec/dummy_app}/app/models/chapter.rb +0 -0
- data/{test/dummy → spec/dummy_app}/app/models/citation.rb +0 -0
- data/{test/dummy → spec/dummy_app}/app/models/custom_primary_key_record.rb +0 -0
- data/{test/dummy → spec/dummy_app}/app/models/customer.rb +0 -0
- data/spec/dummy_app/app/models/document.rb +8 -0
- data/{test/dummy → spec/dummy_app}/app/models/dog.rb +0 -0
- data/{test/dummy → spec/dummy_app}/app/models/editor.rb +0 -0
- data/{test/dummy → spec/dummy_app}/app/models/editorship.rb +0 -0
- data/{test/dummy → spec/dummy_app}/app/models/elephant.rb +0 -0
- data/{test/dummy → spec/dummy_app}/app/models/fluxor.rb +0 -0
- data/{test/dummy → spec/dummy_app}/app/models/foo_habtm.rb +0 -0
- data/{test/dummy → spec/dummy_app}/app/models/foo_widget.rb +0 -0
- data/{test/dummy → spec/dummy_app}/app/models/fruit.rb +0 -0
- data/{test/dummy → spec/dummy_app}/app/models/gadget.rb +0 -0
- data/{test/dummy → spec/dummy_app}/app/models/kitchen/banana.rb +0 -0
- data/spec/dummy_app/app/models/legacy_widget.rb +6 -0
- data/{test/dummy → spec/dummy_app}/app/models/line_item.rb +0 -0
- data/{test/dummy → spec/dummy_app}/app/models/not_on_update.rb +0 -0
- data/{test/dummy → spec/dummy_app}/app/models/on/create.rb +0 -0
- data/{test/dummy → spec/dummy_app}/app/models/on/destroy.rb +0 -0
- data/{test/dummy → spec/dummy_app}/app/models/on/empty_array.rb +0 -0
- data/{test/dummy → spec/dummy_app}/app/models/on/update.rb +0 -0
- data/{test/dummy → spec/dummy_app}/app/models/order.rb +0 -0
- data/{test/dummy → spec/dummy_app}/app/models/paragraph.rb +0 -0
- data/{test/dummy → spec/dummy_app}/app/models/person.rb +0 -0
- data/{test/dummy → spec/dummy_app}/app/models/post.rb +0 -0
- data/{test/dummy → spec/dummy_app}/app/models/post_with_status.rb +0 -0
- data/{test/dummy → spec/dummy_app}/app/models/quotation.rb +0 -0
- data/{test/dummy → spec/dummy_app}/app/models/section.rb +0 -0
- data/{test/dummy → spec/dummy_app}/app/models/skipper.rb +0 -0
- data/{test/dummy → spec/dummy_app}/app/models/song.rb +0 -0
- data/{test/dummy → spec/dummy_app}/app/models/thing.rb +0 -0
- data/spec/dummy_app/app/models/translation.rb +11 -0
- data/{test/dummy → spec/dummy_app}/app/models/truck.rb +0 -0
- data/{test/dummy → spec/dummy_app}/app/models/vehicle.rb +0 -0
- data/{test/dummy → spec/dummy_app}/app/models/whatchamajigger.rb +0 -0
- data/{test/dummy → spec/dummy_app}/app/models/widget.rb +0 -0
- data/{test/dummy → spec/dummy_app}/app/models/wotsit.rb +0 -0
- data/{test/dummy → spec/dummy_app}/app/versions/custom_primary_key_record_version.rb +0 -0
- data/{test/dummy → spec/dummy_app}/app/versions/joined_version.rb +0 -0
- data/{test/dummy → spec/dummy_app}/app/versions/json_version.rb +0 -0
- data/{test/dummy → spec/dummy_app}/app/versions/kitchen/banana_version.rb +0 -0
- data/{test/dummy → spec/dummy_app}/app/versions/post_version.rb +0 -0
- data/{test/dummy → spec/dummy_app}/config.ru +0 -0
- data/{test/dummy → spec/dummy_app}/config/application.rb +0 -0
- data/{test/dummy → spec/dummy_app}/config/boot.rb +0 -0
- data/{test/dummy → spec/dummy_app}/config/database.mysql.yml +0 -0
- data/{test/dummy → spec/dummy_app}/config/database.postgres.yml +0 -0
- data/{test/dummy → spec/dummy_app}/config/database.sqlite.yml +0 -0
- data/{test/dummy → spec/dummy_app}/config/environment.rb +0 -0
- data/{test/dummy → spec/dummy_app}/config/environments/development.rb +0 -0
- data/{test/dummy → spec/dummy_app}/config/environments/production.rb +0 -0
- data/{test/dummy → spec/dummy_app}/config/environments/test.rb +0 -0
- data/{test/dummy → spec/dummy_app}/config/initializers/backtrace_silencers.rb +0 -0
- data/{test/dummy → spec/dummy_app}/config/initializers/inflections.rb +0 -0
- data/{test/dummy → spec/dummy_app}/config/initializers/mime_types.rb +0 -0
- data/{test/dummy → spec/dummy_app}/config/initializers/paper_trail.rb +0 -0
- data/{test/dummy → spec/dummy_app}/config/initializers/secret_token.rb +0 -0
- data/{test/dummy → spec/dummy_app}/config/initializers/session_store.rb +0 -0
- data/{test/dummy → spec/dummy_app}/config/locales/en.yml +0 -0
- data/{test/dummy → spec/dummy_app}/config/routes.rb +0 -0
- data/{test/dummy → spec/dummy_app}/db/migrate/20110208155312_set_up_test_tables.rb +0 -0
- data/{test/dummy → spec/dummy_app}/db/schema.rb +0 -0
- data/spec/models/article_spec.rb +186 -0
- data/spec/models/document_spec.rb +41 -5
- data/spec/models/legacy_widget_spec.rb +40 -0
- data/spec/models/on/create_spec.rb +27 -0
- data/spec/models/on/destroy_spec.rb +27 -0
- data/spec/models/on/empty_array_spec.rb +30 -0
- data/spec/models/on/update_spec.rb +27 -0
- data/spec/models/translation_spec.rb +70 -0
- data/spec/models/version_spec.rb +7 -3
- data/spec/paper_trail/config_spec.rb +12 -0
- data/spec/paper_trail/model_spec.rb +0 -429
- data/spec/paper_trail/serializers/custom_json_serializer_spec.rb +18 -0
- data/spec/paper_trail/thread_safety_spec.rb +44 -0
- data/spec/paper_trail_spec.rb +9 -0
- data/spec/spec_helper.rb +6 -10
- metadata +178 -179
- data/test/dummy/app/models/document.rb +0 -6
- data/test/dummy/app/models/legacy_widget.rb +0 -3
- data/test/dummy/app/models/translation.rb +0 -6
- data/test/functional/controller_test.rb +0 -90
- data/test/functional/thread_safety_test.rb +0 -46
- data/test/test_helper.rb +0 -68
- data/test/unit/serializers/mixin_json_test.rb +0 -39
@@ -0,0 +1,18 @@
|
|
1
|
+
require "spec_helper"
|
2
|
+
require_relative "../../support/custom_json_serializer"
|
3
|
+
|
4
|
+
RSpec.describe CustomJsonSerializer do
|
5
|
+
describe ".load" do
|
6
|
+
it "deserializes, removing pairs with blank keys or values" do
|
7
|
+
hash = { "key1" => "banana", "tkey" => nil, "" => "foo" }
|
8
|
+
expect(described_class.load(hash.to_json)).to(eq("key1" => "banana"))
|
9
|
+
end
|
10
|
+
end
|
11
|
+
|
12
|
+
describe ".dump" do
|
13
|
+
it "serializes to JSON, removing pairs with nil values" do
|
14
|
+
hash = { "key1" => "banana", "tkey" => nil, "" => "foo" }
|
15
|
+
expect(described_class.dump(hash)).to(eq('{"key1":"banana","":"foo"}'))
|
16
|
+
end
|
17
|
+
end
|
18
|
+
end
|
@@ -0,0 +1,44 @@
|
|
1
|
+
require "spec_helper"
|
2
|
+
|
3
|
+
RSpec.describe PaperTrail do
|
4
|
+
describe "#set_paper_trail_whodunnit" do
|
5
|
+
it "is thread-safe" do
|
6
|
+
blocked = true
|
7
|
+
slow_thread = Thread.new do
|
8
|
+
controller = TestController.new
|
9
|
+
controller.send(:set_paper_trail_whodunnit)
|
10
|
+
sleep(0.001) while blocked
|
11
|
+
described_class.whodunnit
|
12
|
+
end
|
13
|
+
fast_thread = Thread.new do
|
14
|
+
controller = TestController.new
|
15
|
+
controller.send(:set_paper_trail_whodunnit)
|
16
|
+
who = described_class.whodunnit
|
17
|
+
blocked = false
|
18
|
+
who
|
19
|
+
end
|
20
|
+
expect(fast_thread.value).not_to(eq(slow_thread.value))
|
21
|
+
end
|
22
|
+
end
|
23
|
+
|
24
|
+
describe "#without_versioning" do
|
25
|
+
it "is thread-safe" do
|
26
|
+
enabled = nil
|
27
|
+
slow_thread = Thread.new do
|
28
|
+
Widget.new.paper_trail.without_versioning do
|
29
|
+
sleep(0.01)
|
30
|
+
enabled = Widget.paper_trail.enabled?
|
31
|
+
sleep(0.01)
|
32
|
+
end
|
33
|
+
enabled
|
34
|
+
end
|
35
|
+
fast_thread = Thread.new do
|
36
|
+
sleep(0.005)
|
37
|
+
Widget.paper_trail.enabled?
|
38
|
+
end
|
39
|
+
expect(fast_thread.value).not_to(eq(slow_thread.value))
|
40
|
+
expect(Widget.paper_trail.enabled?).to(eq(true))
|
41
|
+
expect(described_class.enabled_for_model?(Widget)).to(eq(true))
|
42
|
+
end
|
43
|
+
end
|
44
|
+
end
|
data/spec/paper_trail_spec.rb
CHANGED
@@ -101,6 +101,15 @@ RSpec.describe PaperTrail do
|
|
101
101
|
expect(described_class.whodunnit).to be_nil
|
102
102
|
end
|
103
103
|
end
|
104
|
+
|
105
|
+
context "when set to a proc" do
|
106
|
+
it "evaluates the proc each time a version is made" do
|
107
|
+
call_count = 0
|
108
|
+
described_class.whodunnit = proc { call_count += 1 }
|
109
|
+
expect(described_class.whodunnit).to eq(1)
|
110
|
+
expect(described_class.whodunnit).to eq(2)
|
111
|
+
end
|
112
|
+
end
|
104
113
|
end
|
105
114
|
|
106
115
|
describe ".controller_info" do
|
data/spec/spec_helper.rb
CHANGED
@@ -1,13 +1,13 @@
|
|
1
|
+
require "pry"
|
2
|
+
|
1
3
|
# This file is copied to spec/ when you run 'rails generate rspec:install'
|
2
4
|
ENV["RAILS_ENV"] ||= "test"
|
3
5
|
ENV["DB"] ||= "sqlite"
|
4
6
|
|
5
|
-
unless File.exist?(File.expand_path("
|
7
|
+
unless File.exist?(File.expand_path("dummy_app/config/database.yml", __dir__))
|
6
8
|
warn "WARNING: No database.yml detected for the dummy app, please run `rake prepare` first"
|
7
9
|
end
|
8
10
|
|
9
|
-
require "pry"
|
10
|
-
|
11
11
|
RSpec.configure do |config|
|
12
12
|
config.expect_with :rspec do |expectations|
|
13
13
|
expectations.include_chain_clauses_in_custom_matcher_descriptions = true
|
@@ -52,18 +52,14 @@ def params_wrapper(args)
|
|
52
52
|
end
|
53
53
|
end
|
54
54
|
|
55
|
-
require File.expand_path("
|
55
|
+
require File.expand_path("../dummy_app/config/environment", __FILE__)
|
56
56
|
require "rspec/rails"
|
57
57
|
require "paper_trail/frameworks/rspec"
|
58
58
|
require "ffaker"
|
59
59
|
require "timecop"
|
60
60
|
|
61
|
-
#
|
62
|
-
|
63
|
-
|
64
|
-
# Checks for pending migrations before tests are run.
|
65
|
-
# If you are not using ActiveRecord, you can remove this line.
|
66
|
-
ActiveRecord::Migration.check_pending! if ActiveRecord::Migration.respond_to?(:check_pending!)
|
61
|
+
# Run any available migration
|
62
|
+
ActiveRecord::Migrator.migrate File.expand_path("dummy_app/db/migrate/", __dir__)
|
67
63
|
|
68
64
|
require "database_cleaner"
|
69
65
|
DatabaseCleaner.strategy = :truncation
|
metadata
CHANGED
@@ -1,15 +1,16 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: paper_trail
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 7.0
|
4
|
+
version: 7.1.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Andy Stewart
|
8
8
|
- Ben Atkins
|
9
|
+
- Jared Beck
|
9
10
|
autorequire:
|
10
11
|
bindir: bin
|
11
12
|
cert_chain: []
|
12
|
-
date: 2017-
|
13
|
+
date: 2017-07-09 00:00:00.000000000 Z
|
13
14
|
dependencies:
|
14
15
|
- !ruby/object:Gem::Dependency
|
15
16
|
name: activerecord
|
@@ -73,20 +74,6 @@ dependencies:
|
|
73
74
|
- - "~>"
|
74
75
|
- !ruby/object:Gem::Version
|
75
76
|
version: '12.0'
|
76
|
-
- !ruby/object:Gem::Dependency
|
77
|
-
name: shoulda
|
78
|
-
requirement: !ruby/object:Gem::Requirement
|
79
|
-
requirements:
|
80
|
-
- - "~>"
|
81
|
-
- !ruby/object:Gem::Version
|
82
|
-
version: '3.5'
|
83
|
-
type: :development
|
84
|
-
prerelease: false
|
85
|
-
version_requirements: !ruby/object:Gem::Requirement
|
86
|
-
requirements:
|
87
|
-
- - "~>"
|
88
|
-
- !ruby/object:Gem::Version
|
89
|
-
version: '3.5'
|
90
77
|
- !ruby/object:Gem::Dependency
|
91
78
|
name: ffaker
|
92
79
|
requirement: !ruby/object:Gem::Requirement
|
@@ -348,8 +335,87 @@ files:
|
|
348
335
|
- lib/paper_trail/version_number.rb
|
349
336
|
- paper_trail.gemspec
|
350
337
|
- spec/controllers/articles_controller_spec.rb
|
338
|
+
- spec/controllers/widgets_controller_spec.rb
|
339
|
+
- spec/dummy_app/Rakefile
|
340
|
+
- spec/dummy_app/app/controllers/application_controller.rb
|
341
|
+
- spec/dummy_app/app/controllers/articles_controller.rb
|
342
|
+
- spec/dummy_app/app/controllers/test_controller.rb
|
343
|
+
- spec/dummy_app/app/controllers/widgets_controller.rb
|
344
|
+
- spec/dummy_app/app/models/animal.rb
|
345
|
+
- spec/dummy_app/app/models/article.rb
|
346
|
+
- spec/dummy_app/app/models/authorship.rb
|
347
|
+
- spec/dummy_app/app/models/bar_habtm.rb
|
348
|
+
- spec/dummy_app/app/models/book.rb
|
349
|
+
- spec/dummy_app/app/models/boolit.rb
|
350
|
+
- spec/dummy_app/app/models/callback_modifier.rb
|
351
|
+
- spec/dummy_app/app/models/car.rb
|
352
|
+
- spec/dummy_app/app/models/cat.rb
|
353
|
+
- spec/dummy_app/app/models/chapter.rb
|
354
|
+
- spec/dummy_app/app/models/citation.rb
|
355
|
+
- spec/dummy_app/app/models/custom_primary_key_record.rb
|
356
|
+
- spec/dummy_app/app/models/customer.rb
|
357
|
+
- spec/dummy_app/app/models/document.rb
|
358
|
+
- spec/dummy_app/app/models/dog.rb
|
359
|
+
- spec/dummy_app/app/models/editor.rb
|
360
|
+
- spec/dummy_app/app/models/editorship.rb
|
361
|
+
- spec/dummy_app/app/models/elephant.rb
|
362
|
+
- spec/dummy_app/app/models/fluxor.rb
|
363
|
+
- spec/dummy_app/app/models/foo_habtm.rb
|
364
|
+
- spec/dummy_app/app/models/foo_widget.rb
|
365
|
+
- spec/dummy_app/app/models/fruit.rb
|
366
|
+
- spec/dummy_app/app/models/gadget.rb
|
367
|
+
- spec/dummy_app/app/models/kitchen/banana.rb
|
368
|
+
- spec/dummy_app/app/models/legacy_widget.rb
|
369
|
+
- spec/dummy_app/app/models/line_item.rb
|
370
|
+
- spec/dummy_app/app/models/not_on_update.rb
|
371
|
+
- spec/dummy_app/app/models/on/create.rb
|
372
|
+
- spec/dummy_app/app/models/on/destroy.rb
|
373
|
+
- spec/dummy_app/app/models/on/empty_array.rb
|
374
|
+
- spec/dummy_app/app/models/on/update.rb
|
375
|
+
- spec/dummy_app/app/models/order.rb
|
376
|
+
- spec/dummy_app/app/models/paragraph.rb
|
377
|
+
- spec/dummy_app/app/models/person.rb
|
378
|
+
- spec/dummy_app/app/models/post.rb
|
379
|
+
- spec/dummy_app/app/models/post_with_status.rb
|
380
|
+
- spec/dummy_app/app/models/quotation.rb
|
381
|
+
- spec/dummy_app/app/models/section.rb
|
382
|
+
- spec/dummy_app/app/models/skipper.rb
|
383
|
+
- spec/dummy_app/app/models/song.rb
|
384
|
+
- spec/dummy_app/app/models/thing.rb
|
385
|
+
- spec/dummy_app/app/models/translation.rb
|
386
|
+
- spec/dummy_app/app/models/truck.rb
|
387
|
+
- spec/dummy_app/app/models/vehicle.rb
|
388
|
+
- spec/dummy_app/app/models/whatchamajigger.rb
|
389
|
+
- spec/dummy_app/app/models/widget.rb
|
390
|
+
- spec/dummy_app/app/models/wotsit.rb
|
391
|
+
- spec/dummy_app/app/versions/custom_primary_key_record_version.rb
|
392
|
+
- spec/dummy_app/app/versions/joined_version.rb
|
393
|
+
- spec/dummy_app/app/versions/json_version.rb
|
394
|
+
- spec/dummy_app/app/versions/kitchen/banana_version.rb
|
395
|
+
- spec/dummy_app/app/versions/post_version.rb
|
396
|
+
- spec/dummy_app/config.ru
|
397
|
+
- spec/dummy_app/config/application.rb
|
398
|
+
- spec/dummy_app/config/boot.rb
|
399
|
+
- spec/dummy_app/config/database.mysql.yml
|
400
|
+
- spec/dummy_app/config/database.postgres.yml
|
401
|
+
- spec/dummy_app/config/database.sqlite.yml
|
402
|
+
- spec/dummy_app/config/environment.rb
|
403
|
+
- spec/dummy_app/config/environments/development.rb
|
404
|
+
- spec/dummy_app/config/environments/production.rb
|
405
|
+
- spec/dummy_app/config/environments/test.rb
|
406
|
+
- spec/dummy_app/config/initializers/backtrace_silencers.rb
|
407
|
+
- spec/dummy_app/config/initializers/inflections.rb
|
408
|
+
- spec/dummy_app/config/initializers/mime_types.rb
|
409
|
+
- spec/dummy_app/config/initializers/paper_trail.rb
|
410
|
+
- spec/dummy_app/config/initializers/secret_token.rb
|
411
|
+
- spec/dummy_app/config/initializers/session_store.rb
|
412
|
+
- spec/dummy_app/config/locales/en.yml
|
413
|
+
- spec/dummy_app/config/routes.rb
|
414
|
+
- spec/dummy_app/db/migrate/20110208155312_set_up_test_tables.rb
|
415
|
+
- spec/dummy_app/db/schema.rb
|
351
416
|
- spec/generators/install_generator_spec.rb
|
352
417
|
- spec/models/animal_spec.rb
|
418
|
+
- spec/models/article_spec.rb
|
353
419
|
- spec/models/boolit_spec.rb
|
354
420
|
- spec/models/callback_modifier_spec.rb
|
355
421
|
- spec/models/car_spec.rb
|
@@ -359,10 +425,16 @@ files:
|
|
359
425
|
- spec/models/joined_version_spec.rb
|
360
426
|
- spec/models/json_version_spec.rb
|
361
427
|
- spec/models/kitchen/banana_spec.rb
|
428
|
+
- spec/models/legacy_widget_spec.rb
|
362
429
|
- spec/models/not_on_update_spec.rb
|
430
|
+
- spec/models/on/create_spec.rb
|
431
|
+
- spec/models/on/destroy_spec.rb
|
432
|
+
- spec/models/on/empty_array_spec.rb
|
433
|
+
- spec/models/on/update_spec.rb
|
363
434
|
- spec/models/post_with_status_spec.rb
|
364
435
|
- spec/models/skipper_spec.rb
|
365
436
|
- spec/models/thing_spec.rb
|
437
|
+
- spec/models/translation_spec.rb
|
366
438
|
- spec/models/vehicle_spec.rb
|
367
439
|
- spec/models/version_spec.rb
|
368
440
|
- spec/models/widget_spec.rb
|
@@ -374,9 +446,11 @@ files:
|
|
374
446
|
- spec/paper_trail/config_spec.rb
|
375
447
|
- spec/paper_trail/model_spec.rb
|
376
448
|
- spec/paper_trail/serializer_spec.rb
|
449
|
+
- spec/paper_trail/serializers/custom_json_serializer_spec.rb
|
377
450
|
- spec/paper_trail/serializers/custom_yaml_serializer_spec.rb
|
378
451
|
- spec/paper_trail/serializers/json_spec.rb
|
379
452
|
- spec/paper_trail/serializers/yaml_spec.rb
|
453
|
+
- spec/paper_trail/thread_safety_spec.rb
|
380
454
|
- spec/paper_trail/version_limit_spec.rb
|
381
455
|
- spec/paper_trail/version_spec.rb
|
382
456
|
- spec/paper_trail_spec.rb
|
@@ -384,87 +458,6 @@ files:
|
|
384
458
|
- spec/spec_helper.rb
|
385
459
|
- spec/support/alt_db_init.rb
|
386
460
|
- spec/support/custom_json_serializer.rb
|
387
|
-
- test/dummy/Rakefile
|
388
|
-
- test/dummy/app/controllers/application_controller.rb
|
389
|
-
- test/dummy/app/controllers/articles_controller.rb
|
390
|
-
- test/dummy/app/controllers/test_controller.rb
|
391
|
-
- test/dummy/app/controllers/widgets_controller.rb
|
392
|
-
- test/dummy/app/models/animal.rb
|
393
|
-
- test/dummy/app/models/article.rb
|
394
|
-
- test/dummy/app/models/authorship.rb
|
395
|
-
- test/dummy/app/models/bar_habtm.rb
|
396
|
-
- test/dummy/app/models/book.rb
|
397
|
-
- test/dummy/app/models/boolit.rb
|
398
|
-
- test/dummy/app/models/callback_modifier.rb
|
399
|
-
- test/dummy/app/models/car.rb
|
400
|
-
- test/dummy/app/models/cat.rb
|
401
|
-
- test/dummy/app/models/chapter.rb
|
402
|
-
- test/dummy/app/models/citation.rb
|
403
|
-
- test/dummy/app/models/custom_primary_key_record.rb
|
404
|
-
- test/dummy/app/models/customer.rb
|
405
|
-
- test/dummy/app/models/document.rb
|
406
|
-
- test/dummy/app/models/dog.rb
|
407
|
-
- test/dummy/app/models/editor.rb
|
408
|
-
- test/dummy/app/models/editorship.rb
|
409
|
-
- test/dummy/app/models/elephant.rb
|
410
|
-
- test/dummy/app/models/fluxor.rb
|
411
|
-
- test/dummy/app/models/foo_habtm.rb
|
412
|
-
- test/dummy/app/models/foo_widget.rb
|
413
|
-
- test/dummy/app/models/fruit.rb
|
414
|
-
- test/dummy/app/models/gadget.rb
|
415
|
-
- test/dummy/app/models/kitchen/banana.rb
|
416
|
-
- test/dummy/app/models/legacy_widget.rb
|
417
|
-
- test/dummy/app/models/line_item.rb
|
418
|
-
- test/dummy/app/models/not_on_update.rb
|
419
|
-
- test/dummy/app/models/on/create.rb
|
420
|
-
- test/dummy/app/models/on/destroy.rb
|
421
|
-
- test/dummy/app/models/on/empty_array.rb
|
422
|
-
- test/dummy/app/models/on/update.rb
|
423
|
-
- test/dummy/app/models/order.rb
|
424
|
-
- test/dummy/app/models/paragraph.rb
|
425
|
-
- test/dummy/app/models/person.rb
|
426
|
-
- test/dummy/app/models/post.rb
|
427
|
-
- test/dummy/app/models/post_with_status.rb
|
428
|
-
- test/dummy/app/models/quotation.rb
|
429
|
-
- test/dummy/app/models/section.rb
|
430
|
-
- test/dummy/app/models/skipper.rb
|
431
|
-
- test/dummy/app/models/song.rb
|
432
|
-
- test/dummy/app/models/thing.rb
|
433
|
-
- test/dummy/app/models/translation.rb
|
434
|
-
- test/dummy/app/models/truck.rb
|
435
|
-
- test/dummy/app/models/vehicle.rb
|
436
|
-
- test/dummy/app/models/whatchamajigger.rb
|
437
|
-
- test/dummy/app/models/widget.rb
|
438
|
-
- test/dummy/app/models/wotsit.rb
|
439
|
-
- test/dummy/app/versions/custom_primary_key_record_version.rb
|
440
|
-
- test/dummy/app/versions/joined_version.rb
|
441
|
-
- test/dummy/app/versions/json_version.rb
|
442
|
-
- test/dummy/app/versions/kitchen/banana_version.rb
|
443
|
-
- test/dummy/app/versions/post_version.rb
|
444
|
-
- test/dummy/config.ru
|
445
|
-
- test/dummy/config/application.rb
|
446
|
-
- test/dummy/config/boot.rb
|
447
|
-
- test/dummy/config/database.mysql.yml
|
448
|
-
- test/dummy/config/database.postgres.yml
|
449
|
-
- test/dummy/config/database.sqlite.yml
|
450
|
-
- test/dummy/config/environment.rb
|
451
|
-
- test/dummy/config/environments/development.rb
|
452
|
-
- test/dummy/config/environments/production.rb
|
453
|
-
- test/dummy/config/environments/test.rb
|
454
|
-
- test/dummy/config/initializers/backtrace_silencers.rb
|
455
|
-
- test/dummy/config/initializers/inflections.rb
|
456
|
-
- test/dummy/config/initializers/mime_types.rb
|
457
|
-
- test/dummy/config/initializers/paper_trail.rb
|
458
|
-
- test/dummy/config/initializers/secret_token.rb
|
459
|
-
- test/dummy/config/initializers/session_store.rb
|
460
|
-
- test/dummy/config/locales/en.yml
|
461
|
-
- test/dummy/config/routes.rb
|
462
|
-
- test/dummy/db/migrate/20110208155312_set_up_test_tables.rb
|
463
|
-
- test/dummy/db/schema.rb
|
464
|
-
- test/functional/controller_test.rb
|
465
|
-
- test/functional/thread_safety_test.rb
|
466
|
-
- test/test_helper.rb
|
467
|
-
- test/unit/serializers/mixin_json_test.rb
|
468
461
|
homepage: https://github.com/airblade/paper_trail
|
469
462
|
licenses:
|
470
463
|
- MIT
|
@@ -485,14 +478,93 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
485
478
|
version: 1.3.6
|
486
479
|
requirements: []
|
487
480
|
rubyforge_project:
|
488
|
-
rubygems_version: 2.6.
|
481
|
+
rubygems_version: 2.6.12
|
489
482
|
signing_key:
|
490
483
|
specification_version: 4
|
491
484
|
summary: Track changes to your models.
|
492
485
|
test_files:
|
493
486
|
- spec/controllers/articles_controller_spec.rb
|
487
|
+
- spec/controllers/widgets_controller_spec.rb
|
488
|
+
- spec/dummy_app/Rakefile
|
489
|
+
- spec/dummy_app/app/controllers/application_controller.rb
|
490
|
+
- spec/dummy_app/app/controllers/articles_controller.rb
|
491
|
+
- spec/dummy_app/app/controllers/test_controller.rb
|
492
|
+
- spec/dummy_app/app/controllers/widgets_controller.rb
|
493
|
+
- spec/dummy_app/app/models/animal.rb
|
494
|
+
- spec/dummy_app/app/models/article.rb
|
495
|
+
- spec/dummy_app/app/models/authorship.rb
|
496
|
+
- spec/dummy_app/app/models/bar_habtm.rb
|
497
|
+
- spec/dummy_app/app/models/book.rb
|
498
|
+
- spec/dummy_app/app/models/boolit.rb
|
499
|
+
- spec/dummy_app/app/models/callback_modifier.rb
|
500
|
+
- spec/dummy_app/app/models/car.rb
|
501
|
+
- spec/dummy_app/app/models/cat.rb
|
502
|
+
- spec/dummy_app/app/models/chapter.rb
|
503
|
+
- spec/dummy_app/app/models/citation.rb
|
504
|
+
- spec/dummy_app/app/models/custom_primary_key_record.rb
|
505
|
+
- spec/dummy_app/app/models/customer.rb
|
506
|
+
- spec/dummy_app/app/models/document.rb
|
507
|
+
- spec/dummy_app/app/models/dog.rb
|
508
|
+
- spec/dummy_app/app/models/editor.rb
|
509
|
+
- spec/dummy_app/app/models/editorship.rb
|
510
|
+
- spec/dummy_app/app/models/elephant.rb
|
511
|
+
- spec/dummy_app/app/models/fluxor.rb
|
512
|
+
- spec/dummy_app/app/models/foo_habtm.rb
|
513
|
+
- spec/dummy_app/app/models/foo_widget.rb
|
514
|
+
- spec/dummy_app/app/models/fruit.rb
|
515
|
+
- spec/dummy_app/app/models/gadget.rb
|
516
|
+
- spec/dummy_app/app/models/kitchen/banana.rb
|
517
|
+
- spec/dummy_app/app/models/legacy_widget.rb
|
518
|
+
- spec/dummy_app/app/models/line_item.rb
|
519
|
+
- spec/dummy_app/app/models/not_on_update.rb
|
520
|
+
- spec/dummy_app/app/models/on/create.rb
|
521
|
+
- spec/dummy_app/app/models/on/destroy.rb
|
522
|
+
- spec/dummy_app/app/models/on/empty_array.rb
|
523
|
+
- spec/dummy_app/app/models/on/update.rb
|
524
|
+
- spec/dummy_app/app/models/order.rb
|
525
|
+
- spec/dummy_app/app/models/paragraph.rb
|
526
|
+
- spec/dummy_app/app/models/person.rb
|
527
|
+
- spec/dummy_app/app/models/post.rb
|
528
|
+
- spec/dummy_app/app/models/post_with_status.rb
|
529
|
+
- spec/dummy_app/app/models/quotation.rb
|
530
|
+
- spec/dummy_app/app/models/section.rb
|
531
|
+
- spec/dummy_app/app/models/skipper.rb
|
532
|
+
- spec/dummy_app/app/models/song.rb
|
533
|
+
- spec/dummy_app/app/models/thing.rb
|
534
|
+
- spec/dummy_app/app/models/translation.rb
|
535
|
+
- spec/dummy_app/app/models/truck.rb
|
536
|
+
- spec/dummy_app/app/models/vehicle.rb
|
537
|
+
- spec/dummy_app/app/models/whatchamajigger.rb
|
538
|
+
- spec/dummy_app/app/models/widget.rb
|
539
|
+
- spec/dummy_app/app/models/wotsit.rb
|
540
|
+
- spec/dummy_app/app/versions/custom_primary_key_record_version.rb
|
541
|
+
- spec/dummy_app/app/versions/joined_version.rb
|
542
|
+
- spec/dummy_app/app/versions/json_version.rb
|
543
|
+
- spec/dummy_app/app/versions/kitchen/banana_version.rb
|
544
|
+
- spec/dummy_app/app/versions/post_version.rb
|
545
|
+
- spec/dummy_app/config.ru
|
546
|
+
- spec/dummy_app/config/application.rb
|
547
|
+
- spec/dummy_app/config/boot.rb
|
548
|
+
- spec/dummy_app/config/database.mysql.yml
|
549
|
+
- spec/dummy_app/config/database.postgres.yml
|
550
|
+
- spec/dummy_app/config/database.sqlite.yml
|
551
|
+
- spec/dummy_app/config/environment.rb
|
552
|
+
- spec/dummy_app/config/environments/development.rb
|
553
|
+
- spec/dummy_app/config/environments/production.rb
|
554
|
+
- spec/dummy_app/config/environments/test.rb
|
555
|
+
- spec/dummy_app/config/initializers/backtrace_silencers.rb
|
556
|
+
- spec/dummy_app/config/initializers/inflections.rb
|
557
|
+
- spec/dummy_app/config/initializers/mime_types.rb
|
558
|
+
- spec/dummy_app/config/initializers/paper_trail.rb
|
559
|
+
- spec/dummy_app/config/initializers/secret_token.rb
|
560
|
+
- spec/dummy_app/config/initializers/session_store.rb
|
561
|
+
- spec/dummy_app/config/locales/en.yml
|
562
|
+
- spec/dummy_app/config/routes.rb
|
563
|
+
- spec/dummy_app/db/migrate/20110208155312_set_up_test_tables.rb
|
564
|
+
- spec/dummy_app/db/schema.rb
|
494
565
|
- spec/generators/install_generator_spec.rb
|
495
566
|
- spec/models/animal_spec.rb
|
567
|
+
- spec/models/article_spec.rb
|
496
568
|
- spec/models/boolit_spec.rb
|
497
569
|
- spec/models/callback_modifier_spec.rb
|
498
570
|
- spec/models/car_spec.rb
|
@@ -502,10 +574,16 @@ test_files:
|
|
502
574
|
- spec/models/joined_version_spec.rb
|
503
575
|
- spec/models/json_version_spec.rb
|
504
576
|
- spec/models/kitchen/banana_spec.rb
|
577
|
+
- spec/models/legacy_widget_spec.rb
|
505
578
|
- spec/models/not_on_update_spec.rb
|
579
|
+
- spec/models/on/create_spec.rb
|
580
|
+
- spec/models/on/destroy_spec.rb
|
581
|
+
- spec/models/on/empty_array_spec.rb
|
582
|
+
- spec/models/on/update_spec.rb
|
506
583
|
- spec/models/post_with_status_spec.rb
|
507
584
|
- spec/models/skipper_spec.rb
|
508
585
|
- spec/models/thing_spec.rb
|
586
|
+
- spec/models/translation_spec.rb
|
509
587
|
- spec/models/vehicle_spec.rb
|
510
588
|
- spec/models/version_spec.rb
|
511
589
|
- spec/models/widget_spec.rb
|
@@ -517,9 +595,11 @@ test_files:
|
|
517
595
|
- spec/paper_trail/config_spec.rb
|
518
596
|
- spec/paper_trail/model_spec.rb
|
519
597
|
- spec/paper_trail/serializer_spec.rb
|
598
|
+
- spec/paper_trail/serializers/custom_json_serializer_spec.rb
|
520
599
|
- spec/paper_trail/serializers/custom_yaml_serializer_spec.rb
|
521
600
|
- spec/paper_trail/serializers/json_spec.rb
|
522
601
|
- spec/paper_trail/serializers/yaml_spec.rb
|
602
|
+
- spec/paper_trail/thread_safety_spec.rb
|
523
603
|
- spec/paper_trail/version_limit_spec.rb
|
524
604
|
- spec/paper_trail/version_spec.rb
|
525
605
|
- spec/paper_trail_spec.rb
|
@@ -527,84 +607,3 @@ test_files:
|
|
527
607
|
- spec/spec_helper.rb
|
528
608
|
- spec/support/alt_db_init.rb
|
529
609
|
- spec/support/custom_json_serializer.rb
|
530
|
-
- test/dummy/Rakefile
|
531
|
-
- test/dummy/app/controllers/application_controller.rb
|
532
|
-
- test/dummy/app/controllers/articles_controller.rb
|
533
|
-
- test/dummy/app/controllers/test_controller.rb
|
534
|
-
- test/dummy/app/controllers/widgets_controller.rb
|
535
|
-
- test/dummy/app/models/animal.rb
|
536
|
-
- test/dummy/app/models/article.rb
|
537
|
-
- test/dummy/app/models/authorship.rb
|
538
|
-
- test/dummy/app/models/bar_habtm.rb
|
539
|
-
- test/dummy/app/models/book.rb
|
540
|
-
- test/dummy/app/models/boolit.rb
|
541
|
-
- test/dummy/app/models/callback_modifier.rb
|
542
|
-
- test/dummy/app/models/car.rb
|
543
|
-
- test/dummy/app/models/cat.rb
|
544
|
-
- test/dummy/app/models/chapter.rb
|
545
|
-
- test/dummy/app/models/citation.rb
|
546
|
-
- test/dummy/app/models/custom_primary_key_record.rb
|
547
|
-
- test/dummy/app/models/customer.rb
|
548
|
-
- test/dummy/app/models/document.rb
|
549
|
-
- test/dummy/app/models/dog.rb
|
550
|
-
- test/dummy/app/models/editor.rb
|
551
|
-
- test/dummy/app/models/editorship.rb
|
552
|
-
- test/dummy/app/models/elephant.rb
|
553
|
-
- test/dummy/app/models/fluxor.rb
|
554
|
-
- test/dummy/app/models/foo_habtm.rb
|
555
|
-
- test/dummy/app/models/foo_widget.rb
|
556
|
-
- test/dummy/app/models/fruit.rb
|
557
|
-
- test/dummy/app/models/gadget.rb
|
558
|
-
- test/dummy/app/models/kitchen/banana.rb
|
559
|
-
- test/dummy/app/models/legacy_widget.rb
|
560
|
-
- test/dummy/app/models/line_item.rb
|
561
|
-
- test/dummy/app/models/not_on_update.rb
|
562
|
-
- test/dummy/app/models/on/create.rb
|
563
|
-
- test/dummy/app/models/on/destroy.rb
|
564
|
-
- test/dummy/app/models/on/empty_array.rb
|
565
|
-
- test/dummy/app/models/on/update.rb
|
566
|
-
- test/dummy/app/models/order.rb
|
567
|
-
- test/dummy/app/models/paragraph.rb
|
568
|
-
- test/dummy/app/models/person.rb
|
569
|
-
- test/dummy/app/models/post.rb
|
570
|
-
- test/dummy/app/models/post_with_status.rb
|
571
|
-
- test/dummy/app/models/quotation.rb
|
572
|
-
- test/dummy/app/models/section.rb
|
573
|
-
- test/dummy/app/models/skipper.rb
|
574
|
-
- test/dummy/app/models/song.rb
|
575
|
-
- test/dummy/app/models/thing.rb
|
576
|
-
- test/dummy/app/models/translation.rb
|
577
|
-
- test/dummy/app/models/truck.rb
|
578
|
-
- test/dummy/app/models/vehicle.rb
|
579
|
-
- test/dummy/app/models/whatchamajigger.rb
|
580
|
-
- test/dummy/app/models/widget.rb
|
581
|
-
- test/dummy/app/models/wotsit.rb
|
582
|
-
- test/dummy/app/versions/custom_primary_key_record_version.rb
|
583
|
-
- test/dummy/app/versions/joined_version.rb
|
584
|
-
- test/dummy/app/versions/json_version.rb
|
585
|
-
- test/dummy/app/versions/kitchen/banana_version.rb
|
586
|
-
- test/dummy/app/versions/post_version.rb
|
587
|
-
- test/dummy/config.ru
|
588
|
-
- test/dummy/config/application.rb
|
589
|
-
- test/dummy/config/boot.rb
|
590
|
-
- test/dummy/config/database.mysql.yml
|
591
|
-
- test/dummy/config/database.postgres.yml
|
592
|
-
- test/dummy/config/database.sqlite.yml
|
593
|
-
- test/dummy/config/environment.rb
|
594
|
-
- test/dummy/config/environments/development.rb
|
595
|
-
- test/dummy/config/environments/production.rb
|
596
|
-
- test/dummy/config/environments/test.rb
|
597
|
-
- test/dummy/config/initializers/backtrace_silencers.rb
|
598
|
-
- test/dummy/config/initializers/inflections.rb
|
599
|
-
- test/dummy/config/initializers/mime_types.rb
|
600
|
-
- test/dummy/config/initializers/paper_trail.rb
|
601
|
-
- test/dummy/config/initializers/secret_token.rb
|
602
|
-
- test/dummy/config/initializers/session_store.rb
|
603
|
-
- test/dummy/config/locales/en.yml
|
604
|
-
- test/dummy/config/routes.rb
|
605
|
-
- test/dummy/db/migrate/20110208155312_set_up_test_tables.rb
|
606
|
-
- test/dummy/db/schema.rb
|
607
|
-
- test/functional/controller_test.rb
|
608
|
-
- test/functional/thread_safety_test.rb
|
609
|
-
- test/test_helper.rb
|
610
|
-
- test/unit/serializers/mixin_json_test.rb
|