Module: ActiveRecord::SpawnMethods

Defined in:
lib/hobo/extensions/active_record/relation_with_origin.rb

Instance Method Summary collapse

Instance Method Details

#merge_with_origin(r) ⇒ Object



12
13
14
15
16
17
18
19
# File 'lib/hobo/extensions/active_record/relation_with_origin.rb', line 12

def merge_with_origin(r)
  merged = merge_without_origin(r)
  # LH#1002:  cannot call respond_to? because default_scope ends
  # up calling merge and we end up with infinite recursion
  merged.origin = r.origin rescue nil unless merged.instance_variable_defined?("@origin")
  merged.origin_attribute = r.origin_attribute rescue nil unless merged.instance_variable_defined?("@origin_attribute")
  merged
end