iknow_view_models 3.2.4 → 3.2.9
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/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
|