class Zoomba::Base
Public Class Methods
perform_request(action, data = {})
click to toggle source
# File lib/zoomba/base.rb, line 11 def self.perform_request(action, data = {}) uri = URI("#{Zoomba.configuration.api_base_url}/#{resource_path_part}/#{action}") response = Net::HTTP.start(uri.host, uri.port, use_ssl: true) do |http| request = Net::HTTP::Post.new(uri) request.set_form_data(Zoomba.configuration.to_h.merge(data)) http.request(request) end process_response(response) end
process_response(response)
click to toggle source
# File lib/zoomba/base.rb, line 28 def self.process_response(response) if response.code == '200' parsed = JSON.parse(response.body) return parsed if parsed['error'].nil? raise Error::ApiError.new(parsed['error']['message'], parsed['error']['code']) end end
resource_path_part()
click to toggle source
# File lib/zoomba/base.rb, line 37 def self.resource_path_part to_s.downcase.sub('zoomba::', '') end
Public Instance Methods
assign(args = {})
click to toggle source
# File lib/zoomba/base.rb, line 3 def assign(args = {}) args.each do |key, value| next if key.to_sym == :id send("#{key}=", value) end self end
perform_request(action, data = {})
click to toggle source
# File lib/zoomba/base.rb, line 24 def perform_request(action, data = {}) self.class.perform_request(action, data) end
resource_path_part()
click to toggle source
# File lib/zoomba/base.rb, line 41 def resource_path_part self.class.resource_path_part end