42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
|
# File 'lib/payjp/payjp_object.rb', line 42
def refresh_from(values, opts, partial = false)
@opts = opts
@original_values = Marshal.load(Marshal.dump(values))
removed = partial ? Set.new : Set.new(@values.keys - values.keys)
added = Set.new(values.keys - @values.keys)
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
values.each do |k, v|
@values[k] = Util.convert_to_payjp_object(v, @opts)
@transient_values.delete(k)
@unsaved_values.delete(k)
end
self
end
|