class MfCloud::Invoice::Api::Base
Public Class Methods
allowed_methods()
click to toggle source
# File lib/mf_cloud/invoice/api/base.rb, line 22 def allowed_methods @allowed_methods ||= [] end
collection_class()
click to toggle source
# File lib/mf_cloud/invoice/api/base.rb, line 18 def collection_class Object.const_get(collection_name) end
collection_name()
click to toggle source
# File lib/mf_cloud/invoice/api/base.rb, line 14 def collection_name "#{name.sub('Api', 'Collection')}Collection" end
model_class()
click to toggle source
# File lib/mf_cloud/invoice/api/base.rb, line 10 def model_class Object.const_get(model_name) end
model_name()
click to toggle source
# File lib/mf_cloud/invoice/api/base.rb, line 6 def model_name name.sub('Api', 'Model') end
new(client)
click to toggle source
# File lib/mf_cloud/invoice/api/base.rb, line 33 def initialize(client) @client = client end
Private Class Methods
allow_method(*methods)
click to toggle source
# File lib/mf_cloud/invoice/api/base.rb, line 28 def allow_method(*methods) @allowed_methods = methods end
Public Instance Methods
all(params = {})
click to toggle source
# File lib/mf_cloud/invoice/api/base.rb, line 37 def all(params = {}) fail MethodNotAllowed, "#{self.class.name} has not allowed :all" unless self.class.allowed_methods.include? :all response_body = @client.get(self.class::PATH, params) self.class.collection_class.new( response_body[self.class::COLLECTION_KEY], response_body["meta"] ) end
create(params)
click to toggle source
# File lib/mf_cloud/invoice/api/base.rb, line 54 def create(params) fail MethodNotAllowed, "#{self.class.name} has not allowed :create" unless self.class.allowed_methods.include? :create response_body = @client.post(self.class::PATH, self.class::BASE_NAME => params) self.class.model_class.new(response_body) end
delete(id)
click to toggle source
# File lib/mf_cloud/invoice/api/base.rb, line 68 def delete(id) fail MethodNotAllowed, "#{self.class.name} has not allowed :delete" unless self.class.allowed_methods.include? :delete @client.delete("#{self.class::PATH}/#{id}") end
get(id)
click to toggle source
# File lib/mf_cloud/invoice/api/base.rb, line 47 def get(id) fail MethodNotAllowed, "#{self.class.name} has not allowed :get" unless self.class.allowed_methods.include? :get response_body = @client.get("#{self.class::PATH}/#{id}") self.class.model_class.new(response_body) end
update(id, params)
click to toggle source
# File lib/mf_cloud/invoice/api/base.rb, line 61 def update(id, params) fail MethodNotAllowed, "#{self.class.name} has not allowed :update" unless self.class.allowed_methods.include? :update response_body = @client.put("#{self.class::PATH}/#{id}", self.class::BASE_NAME => params) self.class.model_class.new(response_body) end