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.
@@ -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(object, v[0]))
119
+ v[1].call(self, elibri_object.send(v[0]))
120
120
  else
121
- object.send(:write_attribute, db_attrib, v[1].call(object, elibri_object.send(v[0])))
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
- db_attrib = traverse_vector[change.keys.first].values.first[elibri_attrib]
131
- object = self.send(traverse_vector[change.keys.first].keys.first)
132
- elibri_object = product_updated.send(change.keys.first)
133
- next unless check_policy_chain(self, traverse_vector[change.keys.first].keys.first, db_attrib, object.send(db_attrib), elibri_object.send(elibri_attrib))
134
- object.send(:write_attribute, db_attrib, elibri_object.send(elibri_attrib))
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]))
@@ -1,3 +1,3 @@
1
1
  module ActsAsElibriProduct
2
- VERSION = "0.2.1"
2
+ VERSION = "0.2.2"
3
3
  end
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: 21
4
+ hash: 19
5
5
  prerelease:
6
6
  segments:
7
7
  - 0
8
8
  - 2
9
- - 1
10
- version: 0.2.1
9
+ - 2
10
+ version: 0.2.2
11
11
  platform: ruby
12
12
  authors:
13
13
  - Piotr Szmielew