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