iknow_view_models 3.1.2 → 3.1.3

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 20626189e14765f0dcf1b88d4cd74b542f26cbe522b59b472fa2a13a6fa4c8ad
4
- data.tar.gz: dfecf15184f5465eab585794303e83aff96860a77c44aceed03e8340d1e13485
3
+ metadata.gz: 90ccbf1e2c6cbd490de913f189646e01fbb2b0cda22c6530d9d0794667a6650d
4
+ data.tar.gz: 2ed2d34f0d09e4ee4c295a92ef5cf34b0054062ae8dbdc433e33c10840b9e2c5
5
5
  SHA512:
6
- metadata.gz: c1a7b86997c59882918af9d8eabe61572b2b458a1b3ce33675cf3289ffcdaef5fa3589202c2341d699bfd6221608525b48f65edc314e649df1795cf5bf083251
7
- data.tar.gz: 266e41e0fe810325b5c22757d8f01e66b40b6f7c66cf20bfd6c5f7599a5f3b97033f9ca03709dbe2b1a882b372330a1b609ea0289f2074e0b733fee757ad676f
6
+ metadata.gz: c3f08635ca1378a44fbd2a9dcade0cf3f8f7edb2169b46f8c1c13c3869d4453f64d5dd96e9f1c91018d466a078ff63d3bce1e892cc938a5a45fe89979f89cacc
7
+ data.tar.gz: f02a6f45243e40fb54d7fd0ac146667c6673116b83eb93795b7b454d1ee286bb4d2d797587b9a35662a09f5f3e7ee616b2086aa1a24dc963ade74e22a1e70f92
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module IknowViewModels
4
- VERSION = '3.1.2'
4
+ VERSION = '3.1.3'
5
5
  end
@@ -10,6 +10,8 @@ class ViewModel::ActiveRecord::Visitor
10
10
  end
11
11
 
12
12
  def visit(view, context: nil)
13
+ reset_state!
14
+
13
15
  return unless pre_visit(view, context: context)
14
16
 
15
17
  run_callback(ViewModel::Callbacks::Hook::BeforeVisit, view, context: context)
@@ -29,8 +31,10 @@ class ViewModel::ActiveRecord::Visitor
29
31
  if visit_children
30
32
  # visit the underlying viewmodel for each association, ignoring any
31
33
  # customization
34
+ ignored_associations = @ignored_associations
32
35
  view.class._members.each do |name, member_data|
33
36
  next unless member_data.association?
37
+ next if ignored_associations.include?(name)
34
38
  next if member_data.referenced? && !visit_referenced
35
39
  next if !member_data.owned? && !visit_shared
36
40
 
@@ -77,4 +81,15 @@ class ViewModel::ActiveRecord::Visitor
77
81
  def changes(_view)
78
82
  ViewModel::Changes.new
79
83
  end
84
+
85
+ private
86
+
87
+ def ignore_association!(name)
88
+ @ignored_associations.add(name.to_s)
89
+ end
90
+
91
+ def reset_state!
92
+ @ignored_associations = Set.new
93
+ end
94
+
80
95
  end
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.1.2
4
+ version: 3.1.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - iKnow Team
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2019-12-16 00:00:00.000000000 Z
11
+ date: 2020-03-10 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activerecord