iknow_view_models 3.2.4 → 3.2.9
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/iknow_view_models/version.rb +1 -1
- data/lib/view_model.rb +9 -1
- data/lib/view_model/active_record.rb +4 -5
- data/lib/view_model/migration/no_path_error.rb +1 -0
- data/lib/view_model/migration/one_way_error.rb +1 -0
- data/lib/view_model/migration/unspecified_version_error.rb +1 -0
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 5fb0d39720bec35a1d614fb80f5d172864bc12077cb628e7dec763aec9806035
|
4
|
+
data.tar.gz: d008347def1a6d36cfa3267b078e229bd72f0b43914859d02dd9c957e8a631b6
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 8af06a3614d642e65044e0ade5695cfff2bb38cef574330af77b6a84f7ea445d307be8bd27211d800eda5c23803e7241ed988e9e0ddd230da24fc00e6bc4002f
|
7
|
+
data.tar.gz: 128f5c1135c5a8be03ce2f8e397a686b64234d5711aa2599d4c640345946f8e8e937e9a2350d520e2679d0accf08a332d793f60040ec17b0f8fe6fe68a7e28fe
|
data/lib/view_model.rb
CHANGED
@@ -243,9 +243,17 @@ class ViewModel
|
|
243
243
|
schema_version == self.schema_version
|
244
244
|
end
|
245
245
|
|
246
|
+
def schema_versions(viewmodels)
|
247
|
+
viewmodels.each_with_object({}) do |view, h|
|
248
|
+
h[view.view_name] = view.schema_version
|
249
|
+
end
|
250
|
+
end
|
251
|
+
|
246
252
|
def schema_hash(schema_versions)
|
247
253
|
version_string = schema_versions.to_a.sort.join(',')
|
248
|
-
|
254
|
+
# We want a short hash value, as this will be used in cache keys
|
255
|
+
hash = Digest::SHA256.digest(version_string).byteslice(0, 16)
|
256
|
+
Base64.urlsafe_encode64(hash, padding: false)
|
249
257
|
end
|
250
258
|
|
251
259
|
def preload_for_serialization(viewmodels, serialize_context: new_serialize_context, include_referenced: true, lock: nil)
|
@@ -235,7 +235,7 @@ class ViewModel::ActiveRecord < ViewModel::Record
|
|
235
235
|
next unless include_external || !data.external?
|
236
236
|
|
237
237
|
data.viewmodel_classes.each do |vm|
|
238
|
-
vm.dependent_viewmodels(seen, include_referenced: include_referenced)
|
238
|
+
vm.dependent_viewmodels(seen, include_referenced: include_referenced, include_external: include_external)
|
239
239
|
end
|
240
240
|
end
|
241
241
|
|
@@ -243,11 +243,10 @@ class ViewModel::ActiveRecord < ViewModel::Record
|
|
243
243
|
end
|
244
244
|
|
245
245
|
def deep_schema_version(include_referenced: true, include_external: true)
|
246
|
-
(@deep_schema_version ||= {})[include_referenced] ||=
|
246
|
+
(@deep_schema_version ||= {})[[include_referenced, include_external]] ||=
|
247
247
|
begin
|
248
|
-
dependent_viewmodels(include_referenced: include_referenced, include_external: include_external)
|
249
|
-
|
250
|
-
end.freeze
|
248
|
+
vms = dependent_viewmodels(include_referenced: include_referenced, include_external: include_external)
|
249
|
+
ViewModel.schema_versions(vms).freeze
|
251
250
|
end
|
252
251
|
end
|
253
252
|
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: iknow_view_models
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 3.2.
|
4
|
+
version: 3.2.9
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- iKnow Team
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2020-10
|
11
|
+
date: 2020-12-10 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: activerecord
|