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