lib/octobat/octobat_object.rb in octobat-2.0.14 vs lib/octobat/octobat_object.rb in octobat-2.0.15
- old
+ new
@@ -55,14 +55,15 @@
added = Set.new(values.keys - @values.keys)
# Wipe old state before setting new. This is useful for e.g. updating a
# customer, where there is no persistent card parameter. Mark those values
# which don't persist as transient
- instance_eval do
- remove_accessors(removed)
- add_accessors(added)
- end
+ #instance_eval do
+ remove_accessors(removed)
+ add_accessors(added)
+ #end
+
removed.each do |k|
@values.delete(k)
@transient_values.add(k)
@unsaved_values.delete(k)
end
@@ -139,23 +140,23 @@
def remove_accessors(keys)
metaclass.instance_eval do
keys.each do |k|
next if @@permanent_attributes.include?(k)
- k_eq = :"#{k}="
- remove_method(k) if method_defined?(k)
- remove_method(k_eq) if method_defined?(k_eq)
+
+ [k, :"#{k}="].each do |method_name|
+ remove_method(method_name) if method_defined?(method_name)
+ end
end
end
end
def add_accessors(keys)
metaclass.instance_eval do
keys.each do |k|
next if @@permanent_attributes.include?(k)
- k_eq = :"#{k}="
define_method(k) { @values[k] }
- define_method(k_eq) do |v|
+ define_method(:"#{k}=") do |v|
=begin
if v == ""
raise ArgumentError.new(
"You cannot set #{k} to an empty string." \
"We interpret empty strings as nil in requests." \