class Mollie::Base
Attributes
attributes[R]
Public Class Methods
all(options = {})
click to toggle source
# File lib/mollie/base.rb, line 23 def all(options = {}) id = nil data = {} request('GET', id, data, options) do |response| Mollie::List.new(response, self) end end
create(data = {}, options = {})
click to toggle source
# File lib/mollie/base.rb, line 17 def create(data = {}, options = {}) request('POST', nil, data, options) do |response| new(response) end end
delete(id, options = {})
click to toggle source
# File lib/mollie/base.rb, line 44 def delete(id, options = {}) request('DELETE', id, options) end
Also aliased as: cancel
get(id, options = {})
click to toggle source
# File lib/mollie/base.rb, line 32 def get(id, options = {}) request('GET', id, {}, options) do |response| new(response) end end
id_param()
click to toggle source
# File lib/mollie/base.rb, line 55 def id_param "#{name.downcase.split('::')[-1]}_id".to_sym end
new(attributes)
click to toggle source
# File lib/mollie/base.rb, line 5 def initialize(attributes) @attributes = attributes assign_attributes(attributes) end
parent_id()
click to toggle source
# File lib/mollie/base.rb, line 59 def parent_id "#{name.downcase.split('::')[-2]}_id".to_sym end
request(method, id = 0, data = {}, options = {}) { |response| ... }
click to toggle source
# File lib/mollie/base.rb, line 49 def request(method, id = 0, data = {}, options = {}) parent_id = options.delete(self.parent_id) || data.delete(self.parent_id) response = Mollie::Client.instance.perform_http_call(method, resource_name(parent_id), id, data, options) yield(response) if block_given? end
resource_name(parent_id = nil)
click to toggle source
# File lib/mollie/base.rb, line 63 def resource_name(parent_id = nil) path = name.downcase.split('::').slice(1..-1).map(&Util.method(:pluralize)) if path.size == 2 && parent_id path.join("/#{parent_id}/") else path.last end end
update(id, data = {})
click to toggle source
# File lib/mollie/base.rb, line 38 def update(id, data = {}) request('PATCH', id, data) do |response| new(response) end end
Public Instance Methods
assign_attributes(attributes)
click to toggle source
# File lib/mollie/base.rb, line 10 def assign_attributes(attributes) attributes.each do |key, value| public_send("#{key}=", value) if respond_to?("#{key}=") end end
delete(options = {})
click to toggle source
# File lib/mollie/base.rb, line 86 def delete(options = {}) if (parent_id = attributes[self.class.parent_id]) options[self.class.parent_id] = parent_id end self.class.delete(id, options) end
Also aliased as: cancel
update(data = {})
click to toggle source
# File lib/mollie/base.rb, line 74 def update(data = {}) if (parent_id = attributes[self.class.parent_id]) data[self.class.parent_id] = parent_id end if (resource = self.class.update(id, data)) !!assign_attributes(resource.attributes) else resource end end