lib/monarchy/acts_as_resource.rb in monarchy-2.2.1 vs lib/monarchy/acts_as_resource.rb in monarchy-2.2.2

- old
+ new

@@ -103,12 +103,18 @@ def assign_parent(force = false) parentize = self.class.parentize_name return unless parentize - was_changed = changes["#{parentize}_id"] || changes["#{parentize}_type"] + keys = relation_keys(parentize) + was_changed = changes[keys[:foreign_key]] || changes[keys[:foreign_type]] Monarchy::Validators.resource(send(parentize), true, false) self.parent = send(parentize) if was_changed || force + end + + def relation_keys(relation_name) + reflection = self.class.reflections[relation_name.to_s] + { foreign_key: reflection.foreign_key, foreign_type: reflection.foreign_type } end def children_resources c = hierarchy.try(:children) return nil if c.nil?