module Parentry::InstanceMethods
Public Instance Methods
ancestor_ids_was()
click to toggle source
# File lib/parentry/instance_methods.rb, line 47 def ancestor_ids_was return [] unless saved_changes[parentry_column] parse_parentry(saved_changes[parentry_column][0]).tap(&:pop) end
assign_parentry()
click to toggle source
# File lib/parentry/instance_methods.rb, line 16 def assign_parentry write_attribute(parentry_column, compute_parentry) end
cache_parentry_depth()
click to toggle source
# File lib/parentry/instance_methods.rb, line 20 def cache_parentry_depth write_attribute(:parentry_depth, depth) end
commit_parentry()
click to toggle source
# File lib/parentry/instance_methods.rb, line 12 def commit_parentry update_column(parentry_column, compute_parentry) end
parentry()
click to toggle source
# File lib/parentry/instance_methods.rb, line 24 def parentry read_attribute(parentry_column) end
parentry_scope()
click to toggle source
# File lib/parentry/instance_methods.rb, line 3 def parentry_scope self.class.base_class end
prevent_circular_parentry()
click to toggle source
# File lib/parentry/instance_methods.rb, line 7 def prevent_circular_parentry computed = parse_parentry(compute_parentry) errors.add(:parentry, 'contains a circular reference') unless computed.uniq == computed end
touch_ancestors_callback()
click to toggle source
# File lib/parentry/instance_methods.rb, line 28 def touch_ancestors_callback return unless touch_ancestors return if touch_callbacks_disabled? parentry_scope.where(id: ancestor_ids_was + ancestor_ids).each do |ancestor| ancestor.without_touch_callbacks { ancestor.touch } end end
touch_callbacks_disabled?()
click to toggle source
# File lib/parentry/instance_methods.rb, line 43 def touch_callbacks_disabled? @disable_touch_callbacks end
without_touch_callbacks() { || ... }
click to toggle source
# File lib/parentry/instance_methods.rb, line 37 def without_touch_callbacks @disable_touch_callbacks = true yield @disable_touch_callbacks = false end