module Polyamorous::SwappingReflectionClass
Public Instance Methods
swapping_reflection_klass(reflection, klass) { |new_reflection| ... }
click to toggle source
# File lib/polyamorous/swapping_reflection_class.rb, line 3 def swapping_reflection_klass(reflection, klass) new_reflection = reflection.clone new_reflection.instance_variable_set(:@options, reflection.options.clone) new_reflection.options.delete(:polymorphic) new_reflection.instance_variable_set(:@klass, klass) yield new_reflection end