class ForteRuby::API::Base
Attributes
request_data[RW]
Public Class Methods
new(params = {})
click to toggle source
# File lib/forte_ruby/api/base.rb, line 14 def initialize(params = {}) set_attributes(params) self.request_data ||= RequestData.new end
Private Instance Methods
send_request(url, method, params = nil) { |response| ... }
click to toggle source
# File lib/forte_ruby/api/base.rb, line 21 def send_request(url, method, params = nil) self.result = Result.new unless request_data.config result.error = 'Provide configs in forte_ruby.yml file' return result end params = params ? JSON.generate(params) : nil begin response = RestClient.send(method, url, *[params, request_data.headers].compact) result.successful! if block_given? yield(response) else result.response = JSON.parse(response) end rescue RestClient::Exception => e result.response = JSON.parse(e.response)['response']['response_desc'] end result end
set_attributes(attributes)
click to toggle source
# File lib/forte_ruby/api/base.rb, line 45 def set_attributes(attributes) attributes.each do |key, value| self.send("#{key}=", value) if self.respond_to?(key) end end