active_snapshot 0.1.0 → 0.2.2

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.
@@ -67,7 +67,7 @@ class SnapshotTest < ActiveSupport::TestCase
67
67
 
68
68
  @snapshot.metadata = {foo: :bar}
69
69
 
70
- assert_equal 'bar', @snapshot.metadata['foo']
70
+ assert_equal :bar, @snapshot.metadata['foo']
71
71
  end
72
72
 
73
73
  def test_build_snapshot_item
@@ -73,7 +73,6 @@ class SnapshotsConcernTest < ActiveSupport::TestCase
73
73
  [],
74
74
  [:foobar, 123],
75
75
  {foo: :bar},
76
- {foo: {}},
77
76
  {foo: {records: 'bar', delete_method: 'bar'}},
78
77
  ]
79
78
 
@@ -90,6 +89,8 @@ class SnapshotsConcernTest < ActiveSupport::TestCase
90
89
  valid = [
91
90
  {},
92
91
  {foo: []},
92
+ {foo: {}},
93
+ {foo: Post.limit(1)},
93
94
  {foo: [:foobar, 123]},
94
95
  {foo: {record: 'bar'}},
95
96
  {foo: {records: 'bar'}},
@@ -97,6 +98,8 @@ class SnapshotsConcernTest < ActiveSupport::TestCase
97
98
  {foo: {records: Post.limit(1) }},
98
99
  {foo: {records: [], delete_method: ->(){} }},
99
100
  {foo: {records: [], delete_method: proc{} }},
101
+ {foo: nil},
102
+ {foo: {records: nil}},
100
103
  ]
101
104
 
102
105
  valid.each do |x|
@@ -106,6 +109,12 @@ class SnapshotsConcernTest < ActiveSupport::TestCase
106
109
 
107
110
  klass.new.children_to_snapshot
108
111
  end
112
+
113
+ klass.has_snapshot_children do
114
+ {foo: {records: 'bar'}, baz: {records: 'barbaz'}}
115
+ end
116
+
117
+ assert klass.new.children_to_snapshot.count == 2
109
118
  end
110
119
 
111
120
  end
@@ -22,16 +22,12 @@ class ActiveSnapshotTest < ActiveSupport::TestCase
22
22
  child = parent.comments.create!(content: :foo)
23
23
  original_child_updated_at = child.updated_at
24
24
 
25
- orig_comments_size = parent.children_to_snapshot[:comments][:records].count
26
-
27
25
  assert_difference ->{ ActiveSnapshot::Snapshot.count }, 1 do
28
- assert_difference ->{ ActiveSnapshot::SnapshotItem.count }, (orig_comments_size+1) do
26
+ assert_difference ->{ ActiveSnapshot::SnapshotItem.count }, 2 do
29
27
  @snapshot = parent.create_snapshot!(identifier)
30
28
  end
31
29
  end
32
30
 
33
- assert_equal (orig_comments_size+1), @snapshot.snapshot_items.size
34
-
35
31
  parent.update_columns(updated_at: 1.day.from_now)
36
32
 
37
33
  parent.update_columns(updated_at: 1.day.from_now)
@@ -51,7 +47,7 @@ class ActiveSnapshotTest < ActiveSupport::TestCase
51
47
 
52
48
  parent.reload
53
49
 
54
- assert_equal orig_comments_size, parent.children_to_snapshot[:comments][:records].count
50
+ assert_equal 1, parent.children_to_snapshot[:comments][:records].count
55
51
 
56
52
  ### Test Data Chang
57
53
  assert_time_match original_parent_updated_at, parent.updated_at
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: active_snapshot
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.2.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Weston Ganger
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2021-03-06 00:00:00.000000000 Z
11
+ date: 2021-08-27 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activerecord
@@ -94,6 +94,20 @@ dependencies:
94
94
  - - ">="
95
95
  - !ruby/object:Gem::Version
96
96
  version: '0'
97
+ - !ruby/object:Gem::Dependency
98
+ name: appraisal
99
+ requirement: !ruby/object:Gem::Requirement
100
+ requirements:
101
+ - - ">="
102
+ - !ruby/object:Gem::Version
103
+ version: '0'
104
+ type: :development
105
+ prerelease: false
106
+ version_requirements: !ruby/object:Gem::Requirement
107
+ requirements:
108
+ - - ">="
109
+ - !ruby/object:Gem::Version
110
+ version: '0'
97
111
  - !ruby/object:Gem::Dependency
98
112
  name: warning
99
113
  requirement: !ruby/object:Gem::Requirement
@@ -134,6 +148,7 @@ files:
134
148
  - test/dummy_app/app/controllers/application_controller.rb
135
149
  - test/dummy_app/app/models/application_record.rb
136
150
  - test/dummy_app/app/models/comment.rb
151
+ - test/dummy_app/app/models/note.rb
137
152
  - test/dummy_app/app/models/post.rb
138
153
  - test/dummy_app/app/models/volatile_post.rb
139
154
  - test/dummy_app/app/views/layouts/application.html.erb
@@ -155,8 +170,8 @@ files:
155
170
  - test/dummy_app/config/routes.rb
156
171
  - test/dummy_app/config/secrets.yml
157
172
  - test/dummy_app/db/migrate/20210128155312_set_up_test_tables.rb
158
- - test/dummy_app/db/migrate/20210306070749_create_snapshots_tables.rb
159
- - test/dummy_app/log/development.log
173
+ - test/dummy_app/db/migrate/20210306100122_create_snapshots_tables.rb
174
+ - test/dummy_app/db/test.sqlite3
160
175
  - test/dummy_app/log/test.log
161
176
  - test/generators/active_snapshot/install_generator_test.rb
162
177
  - test/models/snapshot_item_test.rb
@@ -186,46 +201,47 @@ required_rubygems_version: !ruby/object:Gem::Requirement
186
201
  - !ruby/object:Gem::Version
187
202
  version: '0'
188
203
  requirements: []
189
- rubygems_version: 3.1.2
204
+ rubygems_version: 3.1.4
190
205
  signing_key:
191
206
  specification_version: 4
192
207
  summary: Dead simple snapshot versioning for ActiveRecord models and associations.
193
208
  test_files:
209
+ - test/unit/active_snapshot_test.rb
210
+ - test/unit/errors_test.rb
194
211
  - test/models/snapshots_concern_test.rb
195
212
  - test/models/snapshot_item_test.rb
196
213
  - test/models/snapshot_test.rb
197
214
  - test/test_helper.rb
198
- - test/unit/active_snapshot_test.rb
199
- - test/unit/errors_test.rb
200
- - test/dummy_app/app/models/comment.rb
215
+ - test/generators/active_snapshot/install_generator_test.rb
216
+ - test/dummy_app/app/models/note.rb
201
217
  - test/dummy_app/app/models/volatile_post.rb
218
+ - test/dummy_app/app/models/comment.rb
202
219
  - test/dummy_app/app/models/application_record.rb
203
220
  - test/dummy_app/app/models/post.rb
221
+ - test/dummy_app/app/controllers/application_controller.rb
204
222
  - test/dummy_app/app/views/layouts/application.html.erb
205
- - test/dummy_app/app/assets/stylesheets/application.css
206
223
  - test/dummy_app/app/assets/config/manifest.js
207
224
  - test/dummy_app/app/assets/javascripts/application.js
208
- - test/dummy_app/app/controllers/application_controller.rb
209
- - test/dummy_app/config.ru
210
- - test/dummy_app/log/development.log
211
- - test/dummy_app/log/test.log
212
- - test/dummy_app/config/database.yml
225
+ - test/dummy_app/app/assets/stylesheets/application.css
226
+ - test/dummy_app/config/secrets.yml
227
+ - test/dummy_app/config/routes.rb
228
+ - test/dummy_app/config/locales/en.yml
213
229
  - test/dummy_app/config/environments/production.rb
214
- - test/dummy_app/config/environments/test.rb
215
230
  - test/dummy_app/config/environments/development.rb
216
- - test/dummy_app/config/routes.rb
231
+ - test/dummy_app/config/environments/test.rb
217
232
  - test/dummy_app/config/environment.rb
218
- - test/dummy_app/config/locales/en.yml
233
+ - test/dummy_app/config/application.rb
234
+ - test/dummy_app/config/database.yml
219
235
  - test/dummy_app/config/boot.rb
220
- - test/dummy_app/config/initializers/secret_token.rb
221
- - test/dummy_app/config/initializers/inflections.rb
236
+ - test/dummy_app/config/initializers/backtrace_silencers.rb
222
237
  - test/dummy_app/config/initializers/mime_types.rb
223
238
  - test/dummy_app/config/initializers/session_store.rb
224
239
  - test/dummy_app/config/initializers/wrap_parameters.rb
225
- - test/dummy_app/config/initializers/backtrace_silencers.rb
226
- - test/dummy_app/config/secrets.yml
227
- - test/dummy_app/config/application.rb
240
+ - test/dummy_app/config/initializers/secret_token.rb
241
+ - test/dummy_app/config/initializers/inflections.rb
242
+ - test/dummy_app/config.ru
228
243
  - test/dummy_app/Rakefile
244
+ - test/dummy_app/db/test.sqlite3
245
+ - test/dummy_app/db/migrate/20210306100122_create_snapshots_tables.rb
229
246
  - test/dummy_app/db/migrate/20210128155312_set_up_test_tables.rb
230
- - test/dummy_app/db/migrate/20210306070749_create_snapshots_tables.rb
231
- - test/generators/active_snapshot/install_generator_test.rb
247
+ - test/dummy_app/log/test.log
@@ -1,9 +0,0 @@
1
-  (1.2ms) SELECT sqlite_version(*)
2
-  (4.6ms) CREATE TABLE "schema_migrations" ("version" varchar NOT NULL PRIMARY KEY)
3
-  (3.9ms) CREATE TABLE "ar_internal_metadata" ("key" varchar NOT NULL PRIMARY KEY, "value" varchar, "created_at" datetime(6) NOT NULL, "updated_at" datetime(6) NOT NULL)
4
- ActiveRecord::InternalMetadata Load (0.2ms) SELECT "ar_internal_metadata".* FROM "ar_internal_metadata" WHERE "ar_internal_metadata"."key" = ? LIMIT ? [["key", "environment"], ["LIMIT", 1]]
5
-  (0.1ms) begin transaction
6
- ActiveRecord::InternalMetadata Create (0.2ms) INSERT INTO "ar_internal_metadata" ("key", "value", "created_at", "updated_at") VALUES (?, ?, ?, ?) [["key", "environment"], ["value", "development"], ["created_at", "2020-10-18 23:26:12.753133"], ["updated_at", "2020-10-18 23:26:12.753133"]]
7
-  (2.1ms) commit transaction
8
-  (0.1ms) SELECT sqlite_version(*)
9
-  (0.1ms) SELECT "schema_migrations"."version" FROM "schema_migrations" ORDER BY "schema_migrations"."version" ASC