class Eligible::APIResource

Public Class Methods

api_url(base, params = nil, param_id = nil) click to toggle source
# File lib/eligible/api_resource.rb, line 7
def self.api_url(base, params = nil, param_id = nil)
  if params.nil?
    "/#{base}.json"
  else
    id = Util.value(params, param_id)
    "/#{base}/#{id}.json"
  end
end
class_name() click to toggle source
# File lib/eligible/api_resource.rb, line 3
def self.class_name
  name.split('::').last
end
require_param(value, name) click to toggle source
# File lib/eligible/api_resource.rb, line 23
def self.require_param(value, name)
  fail ArgumentError, "#{name} of the #{class_name} is required" if value.nil? || (value.is_a?(String) && value.empty?)
end
send_request(method, url, api_key, params, required_param_name = nil) click to toggle source
# File lib/eligible/api_resource.rb, line 27
def self.send_request(method, url, api_key, params, required_param_name = nil)
  unless required_param_name.nil?
    required_param = Util.value(params, required_param_name)
    require_param(required_param, required_param_name)
  end
  response, api_key = Eligible.request(method, url, api_key, params)
  Util.convert_to_eligible_object(response, api_key)
end
url() click to toggle source
# File lib/eligible/api_resource.rb, line 16
def self.url
  if self == APIResource
    fail NotImplementedError, 'APIResource is an abstract class.  You should perform actions on its subclasses (Plan, Service, etc.)'
  end
  "/#{CGI.escape(class_name.downcase)}/"
end