paper_trail 3.0.6 → 4.2.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.
- checksums.yaml +4 -4
- data/.gitignore +5 -0
- data/.rspec +1 -2
- data/.travis.yml +14 -5
- data/CHANGELOG.md +215 -8
- data/CONTRIBUTING.md +84 -0
- data/README.md +922 -502
- data/Rakefile +2 -2
- data/doc/bug_report_template.rb +65 -0
- data/gemfiles/ar3.gemfile +61 -0
- data/lib/generators/paper_trail/install_generator.rb +22 -3
- data/lib/generators/paper_trail/templates/add_object_changes_to_versions.rb +6 -1
- data/lib/generators/paper_trail/templates/add_transaction_id_column_to_versions.rb +11 -0
- data/lib/generators/paper_trail/templates/create_version_associations.rb +17 -0
- data/lib/generators/paper_trail/templates/create_versions.rb +22 -1
- data/lib/paper_trail.rb +52 -22
- data/lib/paper_trail/attributes_serialization.rb +89 -0
- data/lib/paper_trail/cleaner.rb +32 -15
- data/lib/paper_trail/config.rb +35 -2
- data/lib/paper_trail/frameworks/active_record.rb +4 -5
- data/lib/paper_trail/frameworks/active_record/models/paper_trail/version_association.rb +7 -0
- data/lib/paper_trail/frameworks/rails.rb +1 -0
- data/lib/paper_trail/frameworks/rails/controller.rb +27 -11
- data/lib/paper_trail/frameworks/rspec.rb +5 -0
- data/lib/paper_trail/frameworks/sinatra.rb +3 -1
- data/lib/paper_trail/has_paper_trail.rb +304 -148
- data/lib/paper_trail/record_history.rb +59 -0
- data/lib/paper_trail/reifier.rb +270 -0
- data/lib/paper_trail/serializers/json.rb +13 -2
- data/lib/paper_trail/serializers/yaml.rb +16 -2
- data/lib/paper_trail/version_association_concern.rb +15 -0
- data/lib/paper_trail/version_concern.rb +160 -122
- data/lib/paper_trail/version_number.rb +3 -3
- data/paper_trail.gemspec +22 -9
- data/spec/generators/install_generator_spec.rb +4 -4
- data/spec/models/animal_spec.rb +36 -0
- data/spec/models/boolit_spec.rb +48 -0
- data/spec/models/callback_modifier_spec.rb +96 -0
- data/spec/models/fluxor_spec.rb +19 -0
- data/spec/models/gadget_spec.rb +14 -12
- data/spec/models/joined_version_spec.rb +9 -9
- data/spec/models/json_version_spec.rb +103 -0
- data/spec/models/kitchen/banana_spec.rb +14 -0
- data/spec/models/not_on_update_spec.rb +19 -0
- data/spec/models/post_with_status_spec.rb +3 -3
- data/spec/models/skipper_spec.rb +46 -0
- data/spec/models/thing_spec.rb +11 -0
- data/spec/models/version_spec.rb +195 -44
- data/spec/models/widget_spec.rb +136 -76
- data/spec/modules/paper_trail_spec.rb +27 -0
- data/spec/modules/version_concern_spec.rb +8 -8
- data/spec/modules/version_number_spec.rb +16 -16
- data/spec/paper_trail/config_spec.rb +52 -0
- data/spec/paper_trail_spec.rb +17 -17
- data/spec/rails_helper.rb +34 -0
- data/spec/requests/articles_spec.rb +10 -14
- data/spec/spec_helper.rb +81 -34
- data/spec/support/alt_db_init.rb +1 -1
- data/test/dummy/app/controllers/application_controller.rb +1 -1
- data/test/dummy/app/controllers/articles_controller.rb +4 -1
- data/test/dummy/app/models/animal.rb +2 -0
- data/test/dummy/app/models/book.rb +4 -0
- data/test/dummy/app/models/boolit.rb +4 -0
- data/test/dummy/app/models/callback_modifier.rb +45 -0
- data/test/dummy/app/models/chapter.rb +9 -0
- data/test/dummy/app/models/citation.rb +5 -0
- data/test/dummy/app/models/customer.rb +4 -0
- data/test/dummy/app/models/editor.rb +4 -0
- data/test/dummy/app/models/editorship.rb +5 -0
- data/test/dummy/app/models/fruit.rb +5 -0
- data/test/dummy/app/models/kitchen/banana.rb +5 -0
- data/test/dummy/app/models/line_item.rb +4 -0
- data/test/dummy/app/models/not_on_update.rb +4 -0
- data/test/dummy/app/models/order.rb +5 -0
- data/test/dummy/app/models/paragraph.rb +5 -0
- data/test/dummy/app/models/person.rb +13 -3
- data/test/dummy/app/models/post.rb +0 -1
- data/test/dummy/app/models/quotation.rb +5 -0
- data/test/dummy/app/models/section.rb +6 -0
- data/test/dummy/app/models/skipper.rb +6 -0
- data/test/dummy/app/models/song.rb +20 -0
- data/test/dummy/app/models/thing.rb +3 -0
- data/test/dummy/app/models/whatchamajigger.rb +4 -0
- data/test/dummy/app/models/widget.rb +5 -0
- data/test/dummy/app/versions/json_version.rb +3 -0
- data/test/dummy/app/versions/kitchen/banana_version.rb +5 -0
- data/test/dummy/config/application.rb +6 -0
- data/test/dummy/config/database.postgres.yml +1 -1
- data/test/dummy/config/environments/test.rb +5 -1
- data/test/dummy/config/initializers/paper_trail.rb +6 -1
- data/test/dummy/db/migrate/20110208155312_set_up_test_tables.rb +143 -3
- data/test/dummy/db/schema.rb +169 -25
- data/test/functional/controller_test.rb +4 -2
- data/test/functional/modular_sinatra_test.rb +1 -1
- data/test/functional/sinatra_test.rb +1 -1
- data/test/paper_trail_test.rb +7 -0
- data/test/test_helper.rb +38 -2
- data/test/time_travel_helper.rb +15 -0
- data/test/unit/associations_test.rb +726 -0
- data/test/unit/inheritance_column_test.rb +6 -6
- data/test/unit/model_test.rb +109 -125
- data/test/unit/protected_attrs_test.rb +4 -3
- data/test/unit/serializer_test.rb +6 -6
- data/test/unit/serializers/json_test.rb +17 -4
- data/test/unit/serializers/yaml_test.rb +5 -1
- data/test/unit/version_test.rb +87 -69
- metadata +172 -75
- data/gemfiles/3.0.gemfile +0 -42
- data/test/dummy/public/404.html +0 -26
- data/test/dummy/public/422.html +0 -26
- data/test/dummy/public/500.html +0 -26
- data/test/dummy/public/favicon.ico +0 -0
- data/test/dummy/public/javascripts/application.js +0 -2
- data/test/dummy/public/javascripts/controls.js +0 -965
- data/test/dummy/public/javascripts/dragdrop.js +0 -974
- data/test/dummy/public/javascripts/effects.js +0 -1123
- data/test/dummy/public/javascripts/prototype.js +0 -6001
- data/test/dummy/public/javascripts/rails.js +0 -175
- data/test/dummy/public/stylesheets/.gitkeep +0 -0
|
@@ -10,7 +10,7 @@ class SerializerTest < ActiveSupport::TestCase
|
|
|
10
10
|
END
|
|
11
11
|
|
|
12
12
|
@fluxor = Fluxor.create :name => 'Some text.'
|
|
13
|
-
@original_fluxor_attributes = @fluxor.send(:
|
|
13
|
+
@original_fluxor_attributes = @fluxor.send(:attributes_before_change) # this is exactly what PaperTrail serializes
|
|
14
14
|
@fluxor.update_attributes :name => 'Some more text.'
|
|
15
15
|
end
|
|
16
16
|
|
|
@@ -24,7 +24,7 @@ class SerializerTest < ActiveSupport::TestCase
|
|
|
24
24
|
assert_equal @original_fluxor_attributes, YAML.load(@fluxor.versions[1].object)
|
|
25
25
|
# This test can't consistently pass in Ruby1.8 because hashes do no preserve order, which means the order of the
|
|
26
26
|
# attributes in the `YAML` can't be ensured.
|
|
27
|
-
if RUBY_VERSION
|
|
27
|
+
if RUBY_VERSION >= '1.9'
|
|
28
28
|
assert_equal YAML.dump(@original_fluxor_attributes), @fluxor.versions[1].object
|
|
29
29
|
end
|
|
30
30
|
end
|
|
@@ -41,7 +41,7 @@ class SerializerTest < ActiveSupport::TestCase
|
|
|
41
41
|
END
|
|
42
42
|
|
|
43
43
|
@fluxor = Fluxor.create :name => 'Some text.'
|
|
44
|
-
@original_fluxor_attributes = @fluxor.send(:
|
|
44
|
+
@original_fluxor_attributes = @fluxor.send(:attributes_before_change) # this is exactly what PaperTrail serializes
|
|
45
45
|
@fluxor.update_attributes :name => 'Some more text.'
|
|
46
46
|
end
|
|
47
47
|
|
|
@@ -59,7 +59,7 @@ class SerializerTest < ActiveSupport::TestCase
|
|
|
59
59
|
assert_equal @original_fluxor_attributes, ActiveSupport::JSON.decode(@fluxor.versions[1].object)
|
|
60
60
|
# This test can't consistently pass in Ruby1.8 because hashes do no preserve order, which means the order of the
|
|
61
61
|
# attributes in the JSON can't be ensured.
|
|
62
|
-
if RUBY_VERSION
|
|
62
|
+
if RUBY_VERSION >= '1.9'
|
|
63
63
|
assert_equal ActiveSupport::JSON.encode(@original_fluxor_attributes), @fluxor.versions[1].object
|
|
64
64
|
end
|
|
65
65
|
end
|
|
@@ -83,7 +83,7 @@ class SerializerTest < ActiveSupport::TestCase
|
|
|
83
83
|
END
|
|
84
84
|
|
|
85
85
|
@fluxor = Fluxor.create
|
|
86
|
-
@original_fluxor_attributes = @fluxor.send(:
|
|
86
|
+
@original_fluxor_attributes = @fluxor.send(:attributes_before_change).reject { |k,v| v.nil? } # this is exactly what PaperTrail serializes
|
|
87
87
|
@fluxor.update_attributes :name => 'Some more text.'
|
|
88
88
|
end
|
|
89
89
|
|
|
@@ -101,7 +101,7 @@ class SerializerTest < ActiveSupport::TestCase
|
|
|
101
101
|
assert_equal @original_fluxor_attributes, ActiveSupport::JSON.decode(@fluxor.versions[1].object)
|
|
102
102
|
# This test can't consistently pass in Ruby1.8 because hashes do no preserve order, which means the order of the
|
|
103
103
|
# attributes in the JSON can't be ensured.
|
|
104
|
-
if RUBY_VERSION
|
|
104
|
+
if RUBY_VERSION >= '1.9'
|
|
105
105
|
assert_equal ActiveSupport::JSON.encode(@original_fluxor_attributes), @fluxor.versions[1].object
|
|
106
106
|
end
|
|
107
107
|
end
|
|
@@ -44,7 +44,11 @@ class JSONTest < ActiveSupport::TestCase
|
|
|
44
44
|
PaperTrail::Version.arel_table[:object], :arg1, "Val 1")
|
|
45
45
|
|
|
46
46
|
assert matches.instance_of?(Arel::Nodes::Matches)
|
|
47
|
-
|
|
47
|
+
if Arel::VERSION >= '6'
|
|
48
|
+
assert_equal matches.right.val, "%\"arg1\":\"Val 1\"%"
|
|
49
|
+
else
|
|
50
|
+
assert_equal matches.right, "%\"arg1\":\"Val 1\"%"
|
|
51
|
+
end
|
|
48
52
|
end
|
|
49
53
|
end
|
|
50
54
|
|
|
@@ -54,7 +58,11 @@ class JSONTest < ActiveSupport::TestCase
|
|
|
54
58
|
PaperTrail::Version.arel_table[:object], :arg1, nil)
|
|
55
59
|
|
|
56
60
|
assert matches.instance_of?(Arel::Nodes::Matches)
|
|
57
|
-
|
|
61
|
+
if Arel::VERSION >= '6'
|
|
62
|
+
assert_equal matches.right.val, "%\"arg1\":null%"
|
|
63
|
+
else
|
|
64
|
+
assert_equal matches.right, "%\"arg1\":null%"
|
|
65
|
+
end
|
|
58
66
|
end
|
|
59
67
|
end
|
|
60
68
|
|
|
@@ -67,8 +75,13 @@ class JSONTest < ActiveSupport::TestCase
|
|
|
67
75
|
matches = grouping.select { |v| v.instance_of?(Arel::Nodes::Matches) }
|
|
68
76
|
# Numeric arguments need to ensure that they match for only the number, not the beginning
|
|
69
77
|
# of a #, so it uses an Grouping matcher (See notes on `PaperTrail::Serializers::JSON`)
|
|
70
|
-
|
|
71
|
-
|
|
78
|
+
if Arel::VERSION >= '6'
|
|
79
|
+
assert_equal matches.first.right.val, "%\"arg1\":-3.5,%"
|
|
80
|
+
assert_equal matches.last.right.val, "%\"arg1\":-3.5}%"
|
|
81
|
+
else
|
|
82
|
+
assert_equal matches.first.right, "%\"arg1\":-3.5,%"
|
|
83
|
+
assert_equal matches.last.right, "%\"arg1\":-3.5}%"
|
|
84
|
+
end
|
|
72
85
|
end
|
|
73
86
|
end
|
|
74
87
|
end
|
|
@@ -42,7 +42,11 @@ class YamlTest < ActiveSupport::TestCase
|
|
|
42
42
|
matches = PaperTrail::Serializers::YAML.where_object_condition(
|
|
43
43
|
PaperTrail::Version.arel_table[:object], :arg1, "Val 1")
|
|
44
44
|
assert matches.instance_of?(Arel::Nodes::Matches)
|
|
45
|
-
|
|
45
|
+
if Arel::VERSION >= '6'
|
|
46
|
+
assert_equal matches.right.val, "%\narg1: Val 1\n%"
|
|
47
|
+
else
|
|
48
|
+
assert_equal matches.right, "%\narg1: Val 1\n%"
|
|
49
|
+
end
|
|
46
50
|
end
|
|
47
51
|
end
|
|
48
52
|
end
|
data/test/unit/version_test.rb
CHANGED
|
@@ -1,100 +1,118 @@
|
|
|
1
1
|
require 'test_helper'
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
3
|
+
module PaperTrail
|
|
4
|
+
class VersionTest < ActiveSupport::TestCase
|
|
5
|
+
setup do
|
|
6
|
+
change_schema
|
|
7
|
+
@animal = Animal.create
|
|
8
|
+
assert Version.creates.present?
|
|
9
|
+
end
|
|
9
10
|
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
11
|
+
teardown do
|
|
12
|
+
restore_schema
|
|
13
|
+
Animal.connection.schema_cache.clear!
|
|
14
|
+
Animal.reset_column_information
|
|
15
|
+
end
|
|
15
16
|
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
17
|
+
context ".creates" do
|
|
18
|
+
should "return only create events" do
|
|
19
|
+
Version.creates.each do |version|
|
|
20
|
+
assert_equal "create", version.event
|
|
21
|
+
end
|
|
20
22
|
end
|
|
21
23
|
end
|
|
22
|
-
end
|
|
23
24
|
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
25
|
+
context ".updates" do
|
|
26
|
+
setup {
|
|
27
|
+
@animal.update_attributes(:name => 'Animal')
|
|
28
|
+
assert Version.updates.present?
|
|
29
|
+
}
|
|
29
30
|
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
31
|
+
should "return only update events" do
|
|
32
|
+
Version.updates.each do |version|
|
|
33
|
+
assert_equal "update", version.event
|
|
34
|
+
end
|
|
33
35
|
end
|
|
34
36
|
end
|
|
35
|
-
end
|
|
36
37
|
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
38
|
+
context ".destroys" do
|
|
39
|
+
setup {
|
|
40
|
+
@animal.destroy
|
|
41
|
+
assert Version.destroys.present?
|
|
42
|
+
}
|
|
42
43
|
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
44
|
+
should "return only destroy events" do
|
|
45
|
+
Version.destroys.each do |version|
|
|
46
|
+
assert_equal "destroy", version.event
|
|
47
|
+
end
|
|
46
48
|
end
|
|
47
49
|
end
|
|
48
|
-
end
|
|
49
50
|
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
51
|
+
context ".not_creates" do
|
|
52
|
+
setup {
|
|
53
|
+
@animal.update_attributes(:name => 'Animal')
|
|
54
|
+
@animal.destroy
|
|
55
|
+
assert Version.not_creates.present?
|
|
56
|
+
}
|
|
56
57
|
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
58
|
+
should "return all versions except create events" do
|
|
59
|
+
Version.not_creates.each do |version|
|
|
60
|
+
assert_not_equal "create", version.event
|
|
61
|
+
end
|
|
60
62
|
end
|
|
61
63
|
end
|
|
62
|
-
end
|
|
63
64
|
|
|
64
|
-
|
|
65
|
-
|
|
65
|
+
context ".subsequent" do
|
|
66
|
+
setup do
|
|
67
|
+
2.times do
|
|
68
|
+
@animal.update_attributes(:name => Faker::Lorem.word)
|
|
69
|
+
end
|
|
70
|
+
end
|
|
66
71
|
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
+
context "given a timestamp" do
|
|
73
|
+
should "return all versions that were created after the timestamp" do
|
|
74
|
+
value = Version.subsequent(1.hour.ago, true)
|
|
75
|
+
assert_equal @animal.versions.to_a, value
|
|
76
|
+
assert_match(
|
|
77
|
+
/ORDER BY #{Version.arel_table[:created_at].asc.to_sql}/,
|
|
78
|
+
value.to_sql
|
|
79
|
+
)
|
|
80
|
+
end
|
|
72
81
|
end
|
|
73
|
-
end
|
|
74
82
|
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
83
|
+
context "given a Version" do
|
|
84
|
+
should "grab the timestamp from the version and use that as the value" do
|
|
85
|
+
expected = @animal.versions.to_a.tap { |assoc| assoc.shift }
|
|
86
|
+
actual = Version.subsequent(@animal.versions.first)
|
|
87
|
+
assert_equal expected, actual
|
|
88
|
+
end
|
|
79
89
|
end
|
|
80
90
|
end
|
|
81
|
-
end
|
|
82
91
|
|
|
83
|
-
|
|
84
|
-
|
|
92
|
+
context ".preceding" do
|
|
93
|
+
setup do
|
|
94
|
+
2.times do
|
|
95
|
+
@animal.update_attributes(:name => Faker::Lorem.word)
|
|
96
|
+
end
|
|
97
|
+
end
|
|
85
98
|
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
99
|
+
context "given a timestamp" do
|
|
100
|
+
should "return all versions that were created before the timestamp" do
|
|
101
|
+
value = Version.preceding(5.seconds.from_now, true)
|
|
102
|
+
assert_equal @animal.versions.reverse, value
|
|
103
|
+
assert_match(
|
|
104
|
+
/ORDER BY #{Version.arel_table[:created_at].desc.to_sql}/,
|
|
105
|
+
value.to_sql
|
|
106
|
+
)
|
|
107
|
+
end
|
|
91
108
|
end
|
|
92
|
-
end
|
|
93
109
|
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
110
|
+
context "given a Version" do
|
|
111
|
+
should "grab the timestamp from the version and use that as the value" do
|
|
112
|
+
expected = @animal.versions.to_a.tap { |assoc| assoc.pop }.reverse
|
|
113
|
+
actual = Version.preceding(@animal.versions.last)
|
|
114
|
+
assert_equal expected, actual
|
|
115
|
+
end
|
|
98
116
|
end
|
|
99
117
|
end
|
|
100
118
|
end
|
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: paper_trail
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version:
|
|
4
|
+
version: 4.2.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Andy Stewart
|
|
@@ -9,220 +9,262 @@ authors:
|
|
|
9
9
|
autorequire:
|
|
10
10
|
bindir: bin
|
|
11
11
|
cert_chain: []
|
|
12
|
-
date:
|
|
12
|
+
date: 2016-06-01 00:00:00.000000000 Z
|
|
13
13
|
dependencies:
|
|
14
14
|
- !ruby/object:Gem::Dependency
|
|
15
15
|
name: activerecord
|
|
16
16
|
requirement: !ruby/object:Gem::Requirement
|
|
17
17
|
requirements:
|
|
18
|
-
- -
|
|
18
|
+
- - ">="
|
|
19
19
|
- !ruby/object:Gem::Version
|
|
20
20
|
version: '3.0'
|
|
21
|
-
- - <
|
|
21
|
+
- - "<"
|
|
22
22
|
- !ruby/object:Gem::Version
|
|
23
|
-
version: '
|
|
23
|
+
version: '6.0'
|
|
24
24
|
type: :runtime
|
|
25
25
|
prerelease: false
|
|
26
26
|
version_requirements: !ruby/object:Gem::Requirement
|
|
27
27
|
requirements:
|
|
28
|
-
- -
|
|
28
|
+
- - ">="
|
|
29
29
|
- !ruby/object:Gem::Version
|
|
30
30
|
version: '3.0'
|
|
31
|
-
- - <
|
|
31
|
+
- - "<"
|
|
32
32
|
- !ruby/object:Gem::Version
|
|
33
|
-
version: '
|
|
33
|
+
version: '6.0'
|
|
34
34
|
- !ruby/object:Gem::Dependency
|
|
35
35
|
name: activesupport
|
|
36
36
|
requirement: !ruby/object:Gem::Requirement
|
|
37
37
|
requirements:
|
|
38
|
-
- -
|
|
38
|
+
- - ">="
|
|
39
39
|
- !ruby/object:Gem::Version
|
|
40
40
|
version: '3.0'
|
|
41
|
-
- - <
|
|
41
|
+
- - "<"
|
|
42
42
|
- !ruby/object:Gem::Version
|
|
43
|
-
version: '
|
|
43
|
+
version: '6.0'
|
|
44
44
|
type: :runtime
|
|
45
45
|
prerelease: false
|
|
46
46
|
version_requirements: !ruby/object:Gem::Requirement
|
|
47
47
|
requirements:
|
|
48
|
-
- -
|
|
48
|
+
- - ">="
|
|
49
49
|
- !ruby/object:Gem::Version
|
|
50
50
|
version: '3.0'
|
|
51
|
-
- - <
|
|
51
|
+
- - "<"
|
|
52
52
|
- !ruby/object:Gem::Version
|
|
53
|
-
version: '
|
|
53
|
+
version: '6.0'
|
|
54
|
+
- !ruby/object:Gem::Dependency
|
|
55
|
+
name: request_store
|
|
56
|
+
requirement: !ruby/object:Gem::Requirement
|
|
57
|
+
requirements:
|
|
58
|
+
- - "~>"
|
|
59
|
+
- !ruby/object:Gem::Version
|
|
60
|
+
version: '1.1'
|
|
61
|
+
type: :runtime
|
|
62
|
+
prerelease: false
|
|
63
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
64
|
+
requirements:
|
|
65
|
+
- - "~>"
|
|
66
|
+
- !ruby/object:Gem::Version
|
|
67
|
+
version: '1.1'
|
|
54
68
|
- !ruby/object:Gem::Dependency
|
|
55
69
|
name: rake
|
|
56
70
|
requirement: !ruby/object:Gem::Requirement
|
|
57
71
|
requirements:
|
|
58
|
-
- - ~>
|
|
72
|
+
- - "~>"
|
|
59
73
|
- !ruby/object:Gem::Version
|
|
60
74
|
version: 10.1.1
|
|
61
75
|
type: :development
|
|
62
76
|
prerelease: false
|
|
63
77
|
version_requirements: !ruby/object:Gem::Requirement
|
|
64
78
|
requirements:
|
|
65
|
-
- - ~>
|
|
79
|
+
- - "~>"
|
|
66
80
|
- !ruby/object:Gem::Version
|
|
67
81
|
version: 10.1.1
|
|
68
82
|
- !ruby/object:Gem::Dependency
|
|
69
83
|
name: shoulda
|
|
70
84
|
requirement: !ruby/object:Gem::Requirement
|
|
71
85
|
requirements:
|
|
72
|
-
- - ~>
|
|
86
|
+
- - "~>"
|
|
73
87
|
- !ruby/object:Gem::Version
|
|
74
88
|
version: '3.5'
|
|
75
89
|
type: :development
|
|
76
90
|
prerelease: false
|
|
77
91
|
version_requirements: !ruby/object:Gem::Requirement
|
|
78
92
|
requirements:
|
|
79
|
-
- - ~>
|
|
93
|
+
- - "~>"
|
|
80
94
|
- !ruby/object:Gem::Version
|
|
81
95
|
version: '3.5'
|
|
82
96
|
- !ruby/object:Gem::Dependency
|
|
83
97
|
name: ffaker
|
|
84
98
|
requirement: !ruby/object:Gem::Requirement
|
|
85
99
|
requirements:
|
|
86
|
-
- -
|
|
100
|
+
- - "<="
|
|
87
101
|
- !ruby/object:Gem::Version
|
|
88
|
-
version:
|
|
102
|
+
version: 1.31.0
|
|
89
103
|
type: :development
|
|
90
104
|
prerelease: false
|
|
91
105
|
version_requirements: !ruby/object:Gem::Requirement
|
|
92
106
|
requirements:
|
|
93
|
-
- -
|
|
107
|
+
- - "<="
|
|
94
108
|
- !ruby/object:Gem::Version
|
|
95
|
-
version:
|
|
109
|
+
version: 1.31.0
|
|
96
110
|
- !ruby/object:Gem::Dependency
|
|
97
111
|
name: railties
|
|
98
112
|
requirement: !ruby/object:Gem::Requirement
|
|
99
113
|
requirements:
|
|
100
|
-
- -
|
|
114
|
+
- - ">="
|
|
101
115
|
- !ruby/object:Gem::Version
|
|
102
116
|
version: '3.0'
|
|
103
|
-
- - <
|
|
117
|
+
- - "<"
|
|
104
118
|
- !ruby/object:Gem::Version
|
|
105
119
|
version: '5.0'
|
|
106
120
|
type: :development
|
|
107
121
|
prerelease: false
|
|
108
122
|
version_requirements: !ruby/object:Gem::Requirement
|
|
109
123
|
requirements:
|
|
110
|
-
- -
|
|
124
|
+
- - ">="
|
|
111
125
|
- !ruby/object:Gem::Version
|
|
112
126
|
version: '3.0'
|
|
113
|
-
- - <
|
|
127
|
+
- - "<"
|
|
114
128
|
- !ruby/object:Gem::Version
|
|
115
129
|
version: '5.0'
|
|
116
130
|
- !ruby/object:Gem::Dependency
|
|
117
131
|
name: sinatra
|
|
118
132
|
requirement: !ruby/object:Gem::Requirement
|
|
119
133
|
requirements:
|
|
120
|
-
- - ~>
|
|
134
|
+
- - "~>"
|
|
121
135
|
- !ruby/object:Gem::Version
|
|
122
136
|
version: '1.0'
|
|
123
137
|
type: :development
|
|
124
138
|
prerelease: false
|
|
125
139
|
version_requirements: !ruby/object:Gem::Requirement
|
|
126
140
|
requirements:
|
|
127
|
-
- - ~>
|
|
141
|
+
- - "~>"
|
|
128
142
|
- !ruby/object:Gem::Version
|
|
129
143
|
version: '1.0'
|
|
130
144
|
- !ruby/object:Gem::Dependency
|
|
131
145
|
name: rack-test
|
|
132
146
|
requirement: !ruby/object:Gem::Requirement
|
|
133
147
|
requirements:
|
|
134
|
-
- -
|
|
148
|
+
- - ">="
|
|
135
149
|
- !ruby/object:Gem::Version
|
|
136
150
|
version: '0.6'
|
|
137
151
|
type: :development
|
|
138
152
|
prerelease: false
|
|
139
153
|
version_requirements: !ruby/object:Gem::Requirement
|
|
140
154
|
requirements:
|
|
141
|
-
- -
|
|
155
|
+
- - ">="
|
|
142
156
|
- !ruby/object:Gem::Version
|
|
143
157
|
version: '0.6'
|
|
144
158
|
- !ruby/object:Gem::Dependency
|
|
145
159
|
name: rspec-rails
|
|
146
160
|
requirement: !ruby/object:Gem::Requirement
|
|
147
161
|
requirements:
|
|
148
|
-
- - ~>
|
|
162
|
+
- - "~>"
|
|
149
163
|
- !ruby/object:Gem::Version
|
|
150
|
-
version:
|
|
164
|
+
version: 3.1.0
|
|
151
165
|
type: :development
|
|
152
166
|
prerelease: false
|
|
153
167
|
version_requirements: !ruby/object:Gem::Requirement
|
|
154
168
|
requirements:
|
|
155
|
-
- - ~>
|
|
169
|
+
- - "~>"
|
|
156
170
|
- !ruby/object:Gem::Version
|
|
157
|
-
version:
|
|
171
|
+
version: 3.1.0
|
|
158
172
|
- !ruby/object:Gem::Dependency
|
|
159
173
|
name: generator_spec
|
|
160
174
|
requirement: !ruby/object:Gem::Requirement
|
|
161
175
|
requirements:
|
|
162
|
-
- -
|
|
176
|
+
- - ">="
|
|
163
177
|
- !ruby/object:Gem::Version
|
|
164
178
|
version: '0'
|
|
165
179
|
type: :development
|
|
166
180
|
prerelease: false
|
|
167
181
|
version_requirements: !ruby/object:Gem::Requirement
|
|
168
182
|
requirements:
|
|
169
|
-
- -
|
|
183
|
+
- - ">="
|
|
170
184
|
- !ruby/object:Gem::Version
|
|
171
185
|
version: '0'
|
|
172
186
|
- !ruby/object:Gem::Dependency
|
|
173
187
|
name: database_cleaner
|
|
174
188
|
requirement: !ruby/object:Gem::Requirement
|
|
175
189
|
requirements:
|
|
176
|
-
- - ~>
|
|
190
|
+
- - "~>"
|
|
177
191
|
- !ruby/object:Gem::Version
|
|
178
192
|
version: '1.2'
|
|
179
193
|
type: :development
|
|
180
194
|
prerelease: false
|
|
181
195
|
version_requirements: !ruby/object:Gem::Requirement
|
|
182
196
|
requirements:
|
|
183
|
-
- - ~>
|
|
197
|
+
- - "~>"
|
|
184
198
|
- !ruby/object:Gem::Version
|
|
185
199
|
version: '1.2'
|
|
200
|
+
- !ruby/object:Gem::Dependency
|
|
201
|
+
name: pry-nav
|
|
202
|
+
requirement: !ruby/object:Gem::Requirement
|
|
203
|
+
requirements:
|
|
204
|
+
- - ">="
|
|
205
|
+
- !ruby/object:Gem::Version
|
|
206
|
+
version: '0'
|
|
207
|
+
type: :development
|
|
208
|
+
prerelease: false
|
|
209
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
210
|
+
requirements:
|
|
211
|
+
- - ">="
|
|
212
|
+
- !ruby/object:Gem::Version
|
|
213
|
+
version: '0'
|
|
214
|
+
- !ruby/object:Gem::Dependency
|
|
215
|
+
name: timecop
|
|
216
|
+
requirement: !ruby/object:Gem::Requirement
|
|
217
|
+
requirements:
|
|
218
|
+
- - ">="
|
|
219
|
+
- !ruby/object:Gem::Version
|
|
220
|
+
version: '0'
|
|
221
|
+
type: :development
|
|
222
|
+
prerelease: false
|
|
223
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
224
|
+
requirements:
|
|
225
|
+
- - ">="
|
|
226
|
+
- !ruby/object:Gem::Version
|
|
227
|
+
version: '0'
|
|
186
228
|
- !ruby/object:Gem::Dependency
|
|
187
229
|
name: sqlite3
|
|
188
230
|
requirement: !ruby/object:Gem::Requirement
|
|
189
231
|
requirements:
|
|
190
|
-
- - ~>
|
|
232
|
+
- - "~>"
|
|
191
233
|
- !ruby/object:Gem::Version
|
|
192
234
|
version: '1.2'
|
|
193
235
|
type: :development
|
|
194
236
|
prerelease: false
|
|
195
237
|
version_requirements: !ruby/object:Gem::Requirement
|
|
196
238
|
requirements:
|
|
197
|
-
- - ~>
|
|
239
|
+
- - "~>"
|
|
198
240
|
- !ruby/object:Gem::Version
|
|
199
241
|
version: '1.2'
|
|
200
242
|
- !ruby/object:Gem::Dependency
|
|
201
243
|
name: mysql2
|
|
202
244
|
requirement: !ruby/object:Gem::Requirement
|
|
203
245
|
requirements:
|
|
204
|
-
- - ~>
|
|
246
|
+
- - "~>"
|
|
205
247
|
- !ruby/object:Gem::Version
|
|
206
|
-
version:
|
|
248
|
+
version: 0.3.20
|
|
207
249
|
type: :development
|
|
208
250
|
prerelease: false
|
|
209
251
|
version_requirements: !ruby/object:Gem::Requirement
|
|
210
252
|
requirements:
|
|
211
|
-
- - ~>
|
|
253
|
+
- - "~>"
|
|
212
254
|
- !ruby/object:Gem::Version
|
|
213
|
-
version:
|
|
255
|
+
version: 0.3.20
|
|
214
256
|
- !ruby/object:Gem::Dependency
|
|
215
257
|
name: pg
|
|
216
258
|
requirement: !ruby/object:Gem::Requirement
|
|
217
259
|
requirements:
|
|
218
|
-
- - ~>
|
|
260
|
+
- - "~>"
|
|
219
261
|
- !ruby/object:Gem::Version
|
|
220
262
|
version: '0.17'
|
|
221
263
|
type: :development
|
|
222
264
|
prerelease: false
|
|
223
265
|
version_requirements: !ruby/object:Gem::Requirement
|
|
224
266
|
requirements:
|
|
225
|
-
- - ~>
|
|
267
|
+
- - "~>"
|
|
226
268
|
- !ruby/object:Gem::Version
|
|
227
269
|
version: '0.17'
|
|
228
270
|
description: Track changes to your models' data. Good for auditing or versioning.
|
|
@@ -231,24 +273,30 @@ executables: []
|
|
|
231
273
|
extensions: []
|
|
232
274
|
extra_rdoc_files: []
|
|
233
275
|
files:
|
|
234
|
-
- .gitignore
|
|
235
|
-
- .rspec
|
|
236
|
-
- .travis.yml
|
|
276
|
+
- ".gitignore"
|
|
277
|
+
- ".rspec"
|
|
278
|
+
- ".travis.yml"
|
|
237
279
|
- CHANGELOG.md
|
|
280
|
+
- CONTRIBUTING.md
|
|
238
281
|
- Gemfile
|
|
239
282
|
- MIT-LICENSE
|
|
240
283
|
- README.md
|
|
241
284
|
- Rakefile
|
|
242
|
-
-
|
|
285
|
+
- doc/bug_report_template.rb
|
|
286
|
+
- gemfiles/ar3.gemfile
|
|
243
287
|
- lib/generators/paper_trail/USAGE
|
|
244
288
|
- lib/generators/paper_trail/install_generator.rb
|
|
245
289
|
- lib/generators/paper_trail/templates/add_object_changes_to_versions.rb
|
|
290
|
+
- lib/generators/paper_trail/templates/add_transaction_id_column_to_versions.rb
|
|
291
|
+
- lib/generators/paper_trail/templates/create_version_associations.rb
|
|
246
292
|
- lib/generators/paper_trail/templates/create_versions.rb
|
|
247
293
|
- lib/paper_trail.rb
|
|
294
|
+
- lib/paper_trail/attributes_serialization.rb
|
|
248
295
|
- lib/paper_trail/cleaner.rb
|
|
249
296
|
- lib/paper_trail/config.rb
|
|
250
297
|
- lib/paper_trail/frameworks/active_record.rb
|
|
251
298
|
- lib/paper_trail/frameworks/active_record/models/paper_trail/version.rb
|
|
299
|
+
- lib/paper_trail/frameworks/active_record/models/paper_trail/version_association.rb
|
|
252
300
|
- lib/paper_trail/frameworks/cucumber.rb
|
|
253
301
|
- lib/paper_trail/frameworks/rails.rb
|
|
254
302
|
- lib/paper_trail/frameworks/rails/controller.rb
|
|
@@ -257,20 +305,35 @@ files:
|
|
|
257
305
|
- lib/paper_trail/frameworks/rspec/helpers.rb
|
|
258
306
|
- lib/paper_trail/frameworks/sinatra.rb
|
|
259
307
|
- lib/paper_trail/has_paper_trail.rb
|
|
308
|
+
- lib/paper_trail/record_history.rb
|
|
309
|
+
- lib/paper_trail/reifier.rb
|
|
260
310
|
- lib/paper_trail/serializers/json.rb
|
|
261
311
|
- lib/paper_trail/serializers/yaml.rb
|
|
312
|
+
- lib/paper_trail/version_association_concern.rb
|
|
262
313
|
- lib/paper_trail/version_concern.rb
|
|
263
314
|
- lib/paper_trail/version_number.rb
|
|
264
315
|
- paper_trail.gemspec
|
|
265
316
|
- spec/generators/install_generator_spec.rb
|
|
317
|
+
- spec/models/animal_spec.rb
|
|
318
|
+
- spec/models/boolit_spec.rb
|
|
319
|
+
- spec/models/callback_modifier_spec.rb
|
|
320
|
+
- spec/models/fluxor_spec.rb
|
|
266
321
|
- spec/models/gadget_spec.rb
|
|
267
322
|
- spec/models/joined_version_spec.rb
|
|
323
|
+
- spec/models/json_version_spec.rb
|
|
324
|
+
- spec/models/kitchen/banana_spec.rb
|
|
325
|
+
- spec/models/not_on_update_spec.rb
|
|
268
326
|
- spec/models/post_with_status_spec.rb
|
|
327
|
+
- spec/models/skipper_spec.rb
|
|
328
|
+
- spec/models/thing_spec.rb
|
|
269
329
|
- spec/models/version_spec.rb
|
|
270
330
|
- spec/models/widget_spec.rb
|
|
331
|
+
- spec/modules/paper_trail_spec.rb
|
|
271
332
|
- spec/modules/version_concern_spec.rb
|
|
272
333
|
- spec/modules/version_number_spec.rb
|
|
334
|
+
- spec/paper_trail/config_spec.rb
|
|
273
335
|
- spec/paper_trail_spec.rb
|
|
336
|
+
- spec/rails_helper.rb
|
|
274
337
|
- spec/requests/articles_spec.rb
|
|
275
338
|
- spec/spec_helper.rb
|
|
276
339
|
- spec/support/alt_db_init.rb
|
|
@@ -285,23 +348,43 @@ files:
|
|
|
285
348
|
- test/dummy/app/models/article.rb
|
|
286
349
|
- test/dummy/app/models/authorship.rb
|
|
287
350
|
- test/dummy/app/models/book.rb
|
|
351
|
+
- test/dummy/app/models/boolit.rb
|
|
352
|
+
- test/dummy/app/models/callback_modifier.rb
|
|
288
353
|
- test/dummy/app/models/cat.rb
|
|
354
|
+
- test/dummy/app/models/chapter.rb
|
|
355
|
+
- test/dummy/app/models/citation.rb
|
|
356
|
+
- test/dummy/app/models/customer.rb
|
|
289
357
|
- test/dummy/app/models/document.rb
|
|
290
358
|
- test/dummy/app/models/dog.rb
|
|
359
|
+
- test/dummy/app/models/editor.rb
|
|
360
|
+
- test/dummy/app/models/editorship.rb
|
|
291
361
|
- test/dummy/app/models/elephant.rb
|
|
292
362
|
- test/dummy/app/models/fluxor.rb
|
|
293
363
|
- test/dummy/app/models/foo_widget.rb
|
|
364
|
+
- test/dummy/app/models/fruit.rb
|
|
294
365
|
- test/dummy/app/models/gadget.rb
|
|
366
|
+
- test/dummy/app/models/kitchen/banana.rb
|
|
295
367
|
- test/dummy/app/models/legacy_widget.rb
|
|
368
|
+
- test/dummy/app/models/line_item.rb
|
|
369
|
+
- test/dummy/app/models/not_on_update.rb
|
|
370
|
+
- test/dummy/app/models/order.rb
|
|
371
|
+
- test/dummy/app/models/paragraph.rb
|
|
296
372
|
- test/dummy/app/models/person.rb
|
|
297
373
|
- test/dummy/app/models/post.rb
|
|
298
374
|
- test/dummy/app/models/post_with_status.rb
|
|
299
375
|
- test/dummy/app/models/protected_widget.rb
|
|
376
|
+
- test/dummy/app/models/quotation.rb
|
|
377
|
+
- test/dummy/app/models/section.rb
|
|
378
|
+
- test/dummy/app/models/skipper.rb
|
|
300
379
|
- test/dummy/app/models/song.rb
|
|
380
|
+
- test/dummy/app/models/thing.rb
|
|
301
381
|
- test/dummy/app/models/translation.rb
|
|
382
|
+
- test/dummy/app/models/whatchamajigger.rb
|
|
302
383
|
- test/dummy/app/models/widget.rb
|
|
303
384
|
- test/dummy/app/models/wotsit.rb
|
|
304
385
|
- test/dummy/app/versions/joined_version.rb
|
|
386
|
+
- test/dummy/app/versions/json_version.rb
|
|
387
|
+
- test/dummy/app/versions/kitchen/banana_version.rb
|
|
305
388
|
- test/dummy/app/versions/post_version.rb
|
|
306
389
|
- test/dummy/app/views/layouts/application.html.erb
|
|
307
390
|
- test/dummy/config.ru
|
|
@@ -324,17 +407,6 @@ files:
|
|
|
324
407
|
- test/dummy/config/routes.rb
|
|
325
408
|
- test/dummy/db/migrate/20110208155312_set_up_test_tables.rb
|
|
326
409
|
- test/dummy/db/schema.rb
|
|
327
|
-
- test/dummy/public/404.html
|
|
328
|
-
- test/dummy/public/422.html
|
|
329
|
-
- test/dummy/public/500.html
|
|
330
|
-
- test/dummy/public/favicon.ico
|
|
331
|
-
- test/dummy/public/javascripts/application.js
|
|
332
|
-
- test/dummy/public/javascripts/controls.js
|
|
333
|
-
- test/dummy/public/javascripts/dragdrop.js
|
|
334
|
-
- test/dummy/public/javascripts/effects.js
|
|
335
|
-
- test/dummy/public/javascripts/prototype.js
|
|
336
|
-
- test/dummy/public/javascripts/rails.js
|
|
337
|
-
- test/dummy/public/stylesheets/.gitkeep
|
|
338
410
|
- test/dummy/script/rails
|
|
339
411
|
- test/functional/controller_test.rb
|
|
340
412
|
- test/functional/enabled_for_controller_test.rb
|
|
@@ -343,6 +415,8 @@ files:
|
|
|
343
415
|
- test/functional/thread_safety_test.rb
|
|
344
416
|
- test/paper_trail_test.rb
|
|
345
417
|
- test/test_helper.rb
|
|
418
|
+
- test/time_travel_helper.rb
|
|
419
|
+
- test/unit/associations_test.rb
|
|
346
420
|
- test/unit/cleaner_test.rb
|
|
347
421
|
- test/unit/inheritance_column_test.rb
|
|
348
422
|
- test/unit/model_test.rb
|
|
@@ -364,30 +438,42 @@ require_paths:
|
|
|
364
438
|
- lib
|
|
365
439
|
required_ruby_version: !ruby/object:Gem::Requirement
|
|
366
440
|
requirements:
|
|
367
|
-
- -
|
|
441
|
+
- - ">="
|
|
368
442
|
- !ruby/object:Gem::Version
|
|
369
443
|
version: '0'
|
|
370
444
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
371
445
|
requirements:
|
|
372
|
-
- -
|
|
446
|
+
- - ">="
|
|
373
447
|
- !ruby/object:Gem::Version
|
|
374
448
|
version: 1.3.6
|
|
375
449
|
requirements: []
|
|
376
450
|
rubyforge_project:
|
|
377
|
-
rubygems_version: 2.
|
|
451
|
+
rubygems_version: 2.5.1
|
|
378
452
|
signing_key:
|
|
379
453
|
specification_version: 4
|
|
380
454
|
summary: Track changes to your models' data. Good for auditing or versioning.
|
|
381
455
|
test_files:
|
|
382
456
|
- spec/generators/install_generator_spec.rb
|
|
457
|
+
- spec/models/animal_spec.rb
|
|
458
|
+
- spec/models/boolit_spec.rb
|
|
459
|
+
- spec/models/callback_modifier_spec.rb
|
|
460
|
+
- spec/models/fluxor_spec.rb
|
|
383
461
|
- spec/models/gadget_spec.rb
|
|
384
462
|
- spec/models/joined_version_spec.rb
|
|
463
|
+
- spec/models/json_version_spec.rb
|
|
464
|
+
- spec/models/kitchen/banana_spec.rb
|
|
465
|
+
- spec/models/not_on_update_spec.rb
|
|
385
466
|
- spec/models/post_with_status_spec.rb
|
|
467
|
+
- spec/models/skipper_spec.rb
|
|
468
|
+
- spec/models/thing_spec.rb
|
|
386
469
|
- spec/models/version_spec.rb
|
|
387
470
|
- spec/models/widget_spec.rb
|
|
471
|
+
- spec/modules/paper_trail_spec.rb
|
|
388
472
|
- spec/modules/version_concern_spec.rb
|
|
389
473
|
- spec/modules/version_number_spec.rb
|
|
474
|
+
- spec/paper_trail/config_spec.rb
|
|
390
475
|
- spec/paper_trail_spec.rb
|
|
476
|
+
- spec/rails_helper.rb
|
|
391
477
|
- spec/requests/articles_spec.rb
|
|
392
478
|
- spec/spec_helper.rb
|
|
393
479
|
- spec/support/alt_db_init.rb
|
|
@@ -402,23 +488,43 @@ test_files:
|
|
|
402
488
|
- test/dummy/app/models/article.rb
|
|
403
489
|
- test/dummy/app/models/authorship.rb
|
|
404
490
|
- test/dummy/app/models/book.rb
|
|
491
|
+
- test/dummy/app/models/boolit.rb
|
|
492
|
+
- test/dummy/app/models/callback_modifier.rb
|
|
405
493
|
- test/dummy/app/models/cat.rb
|
|
494
|
+
- test/dummy/app/models/chapter.rb
|
|
495
|
+
- test/dummy/app/models/citation.rb
|
|
496
|
+
- test/dummy/app/models/customer.rb
|
|
406
497
|
- test/dummy/app/models/document.rb
|
|
407
498
|
- test/dummy/app/models/dog.rb
|
|
499
|
+
- test/dummy/app/models/editor.rb
|
|
500
|
+
- test/dummy/app/models/editorship.rb
|
|
408
501
|
- test/dummy/app/models/elephant.rb
|
|
409
502
|
- test/dummy/app/models/fluxor.rb
|
|
410
503
|
- test/dummy/app/models/foo_widget.rb
|
|
504
|
+
- test/dummy/app/models/fruit.rb
|
|
411
505
|
- test/dummy/app/models/gadget.rb
|
|
506
|
+
- test/dummy/app/models/kitchen/banana.rb
|
|
412
507
|
- test/dummy/app/models/legacy_widget.rb
|
|
508
|
+
- test/dummy/app/models/line_item.rb
|
|
509
|
+
- test/dummy/app/models/not_on_update.rb
|
|
510
|
+
- test/dummy/app/models/order.rb
|
|
511
|
+
- test/dummy/app/models/paragraph.rb
|
|
413
512
|
- test/dummy/app/models/person.rb
|
|
414
513
|
- test/dummy/app/models/post.rb
|
|
415
514
|
- test/dummy/app/models/post_with_status.rb
|
|
416
515
|
- test/dummy/app/models/protected_widget.rb
|
|
516
|
+
- test/dummy/app/models/quotation.rb
|
|
517
|
+
- test/dummy/app/models/section.rb
|
|
518
|
+
- test/dummy/app/models/skipper.rb
|
|
417
519
|
- test/dummy/app/models/song.rb
|
|
520
|
+
- test/dummy/app/models/thing.rb
|
|
418
521
|
- test/dummy/app/models/translation.rb
|
|
522
|
+
- test/dummy/app/models/whatchamajigger.rb
|
|
419
523
|
- test/dummy/app/models/widget.rb
|
|
420
524
|
- test/dummy/app/models/wotsit.rb
|
|
421
525
|
- test/dummy/app/versions/joined_version.rb
|
|
526
|
+
- test/dummy/app/versions/json_version.rb
|
|
527
|
+
- test/dummy/app/versions/kitchen/banana_version.rb
|
|
422
528
|
- test/dummy/app/versions/post_version.rb
|
|
423
529
|
- test/dummy/app/views/layouts/application.html.erb
|
|
424
530
|
- test/dummy/config.ru
|
|
@@ -441,17 +547,6 @@ test_files:
|
|
|
441
547
|
- test/dummy/config/routes.rb
|
|
442
548
|
- test/dummy/db/migrate/20110208155312_set_up_test_tables.rb
|
|
443
549
|
- test/dummy/db/schema.rb
|
|
444
|
-
- test/dummy/public/404.html
|
|
445
|
-
- test/dummy/public/422.html
|
|
446
|
-
- test/dummy/public/500.html
|
|
447
|
-
- test/dummy/public/favicon.ico
|
|
448
|
-
- test/dummy/public/javascripts/application.js
|
|
449
|
-
- test/dummy/public/javascripts/controls.js
|
|
450
|
-
- test/dummy/public/javascripts/dragdrop.js
|
|
451
|
-
- test/dummy/public/javascripts/effects.js
|
|
452
|
-
- test/dummy/public/javascripts/prototype.js
|
|
453
|
-
- test/dummy/public/javascripts/rails.js
|
|
454
|
-
- test/dummy/public/stylesheets/.gitkeep
|
|
455
550
|
- test/dummy/script/rails
|
|
456
551
|
- test/functional/controller_test.rb
|
|
457
552
|
- test/functional/enabled_for_controller_test.rb
|
|
@@ -460,6 +555,8 @@ test_files:
|
|
|
460
555
|
- test/functional/thread_safety_test.rb
|
|
461
556
|
- test/paper_trail_test.rb
|
|
462
557
|
- test/test_helper.rb
|
|
558
|
+
- test/time_travel_helper.rb
|
|
559
|
+
- test/unit/associations_test.rb
|
|
463
560
|
- test/unit/cleaner_test.rb
|
|
464
561
|
- test/unit/inheritance_column_test.rb
|
|
465
562
|
- test/unit/model_test.rb
|