lib/recurly/resource.rb in recurly-2.5.5 vs lib/recurly/resource.rb in recurly-2.6.0
- old
+ new
@@ -326,12 +326,13 @@
if uuid.nil?
# Should we raise an ArgumentError, instead?
raise NotFound, "can't find a record with nil identifier"
end
+ uri = uuid =~ /^http/ ? uuid : member_path(uuid)
begin
- from_response API.get(member_path(uuid), {}, options)
+ from_response API.get(uri, {}, options)
rescue API::NotFound => e
raise NotFound, e.description
end
end
@@ -434,11 +435,13 @@
}
end
else
val = XML.cast(el)
if 'address' == el.name && val.kind_of?(Hash)
- record[el.name] = Address.new val
+ address = Address.new val
+ address.instance_variable_set(:@changed_attributes, {})
+ record[el.name] = address
else
record[el.name] = val
end
end
end
@@ -605,15 +608,12 @@
def reload response = nil
if response
return if response.body.to_s.length.zero?
fresh = self.class.from_response response
else
- options = {:etag => (etag unless changed?)}
- fresh = if @href
- self.class.from_response API.get(@href, {}, options)
- else
- self.class.find(to_param, options)
- end
+ fresh = self.class.find(
+ @href || to_param, :etag => (etag unless changed?)
+ )
end
fresh and copy_from fresh
persist! true
self
rescue API::NotModified