acts_as_elibri_product 0.2.1 → 0.2.2
Sign up to get free protection for your applications and to get access to all the features.
- data/lib/acts_as_elibri_product.rb +16 -7
- data/lib/acts_as_elibri_product/version.rb +1 -1
- metadata +3 -3
@@ -116,9 +116,9 @@ module ActsAsElibriProduct
|
|
116
116
|
if v.is_a?(Array)
|
117
117
|
next unless check_policy_chain(self, traverse_vector[change.keys.first].keys.first, db_attrib, object.send(db_attrib), elibri_object.send(v[0]))
|
118
118
|
if v[0].nil?
|
119
|
-
v[1].call(elibri_object.send(
|
119
|
+
v[1].call(self, elibri_object.send(v[0]))
|
120
120
|
else
|
121
|
-
object.send(:write_attribute, db_attrib, v[1].call(
|
121
|
+
object.send(:write_attribute, db_attrib, v[1].call(self, elibri_object.send(v[0])))
|
122
122
|
end
|
123
123
|
else
|
124
124
|
next unless check_policy_chain(self, traverse_vector[change.keys.first].keys.first, db_attrib, object.send(db_attrib), elibri_object.send(v))
|
@@ -127,11 +127,20 @@ module ActsAsElibriProduct
|
|
127
127
|
end
|
128
128
|
end
|
129
129
|
else
|
130
|
-
|
131
|
-
|
132
|
-
|
133
|
-
|
134
|
-
|
130
|
+
if traverse_vector[change.keys.first].is_a?(Array)
|
131
|
+
next unless check_policy_chain(self, change.keys.first, elibri_attrib, product.send(change.keys.first).send(elibri_attrib), product_updated.send(change.keys.first).send(elibri_attrib))
|
132
|
+
if traverse_vector[change.keys.first][0].nil?
|
133
|
+
traverse_vector[change.keys.first][1].call(self, product_updated.send(change.keys.first))
|
134
|
+
else
|
135
|
+
### TO BE IMPLEMENTED - not quite sure if this situation may and should happen
|
136
|
+
end
|
137
|
+
else
|
138
|
+
db_attrib = traverse_vector[change.keys.first].values.first[elibri_attrib]
|
139
|
+
object = self.send(traverse_vector[change.keys.first].keys.first)
|
140
|
+
elibri_object = product_updated.send(change.keys.first)
|
141
|
+
next unless check_policy_chain(self, traverse_vector[change.keys.first].keys.first, db_attrib, object.send(db_attrib), elibri_object.send(elibri_attrib))
|
142
|
+
object.send(:write_attribute, db_attrib, elibri_object.send(elibri_attrib))
|
143
|
+
end
|
135
144
|
end
|
136
145
|
end
|
137
146
|
# read_attribute(traverse_vector[change.keys.first]).send("#{traverse_vector[change[keys.first]]}=", product_updated.send(change.keys.first).send(change[keys.first]))
|
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: acts_as_elibri_product
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
4
|
+
hash: 19
|
5
5
|
prerelease:
|
6
6
|
segments:
|
7
7
|
- 0
|
8
8
|
- 2
|
9
|
-
-
|
10
|
-
version: 0.2.
|
9
|
+
- 2
|
10
|
+
version: 0.2.2
|
11
11
|
platform: ruby
|
12
12
|
authors:
|
13
13
|
- Piotr Szmielew
|