mirror of
https://github.com/stripe/stripe-ruby.git
synced 2025-10-19 00:03:24 -04:00
Rationale: Sometime you don't care about the current state of a resource you just want to update one of it's attributes. It should only require one request. fixes #52 ```ruby c = Stripe::Customer.new("cus_1EqKjPaFs4ZwDD") c.description = 'Ny new Description' c.save ``` Before: ```json { error: { type: "invalid_request_error", message: "A parameter provided in the URL (id) was repeated as a GET or POST parameter. You can only provide this information as a portion of the URL.", param: "id", } } ``` After: Successfully update the customer and return it's whole state.
17 lines
391 B
Ruby
17 lines
391 B
Ruby
module Stripe
|
|
module APIOperations
|
|
module Update
|
|
def save
|
|
if @unsaved_values.length > 0
|
|
values = {}
|
|
@unsaved_values.each { |k| values[k] = @values[k] }
|
|
values.delete(:id)
|
|
response, api_key = Stripe.request(:post, url, @api_key, values)
|
|
refresh_from(response, api_key)
|
|
end
|
|
self
|
|
end
|
|
end
|
|
end
|
|
end
|