Module: PhonyRails::Extension
Defined Under Namespace
Modules: ClassMethods
Instance Method Summary collapse
Instance Method Details
#cache_original_attribute(current_instance, attribute) ⇒ Object
178 179 180 181 182 183 |
# File 'lib/phony_rails.rb', line 178 def cache_original_attribute(current_instance, attribute) attribute_name = "#{attribute}_original" current_instance.define_singleton_method("#{attribute_name}=") { |value| instance_variable_set("@#{attribute_name}", value) } current_instance.define_singleton_method(attribute_name) { instance_variable_get("@#{attribute_name}") } current_instance.public_send("#{attribute}_original=", current_instance.public_send(attribute.to_s)) end |