class HasOffersV3::Base
Public Class Methods
client()
click to toggle source
# File lib/hasoffersv3/base.rb, line 15 def client HasOffersV3.client end
method_missing(meth, *args, &block)
click to toggle source
# File lib/hasoffersv3/base.rb, line 19 def method_missing(meth, *args, &block) new(client).send(meth, *args, &block) end
new(client = HasOffersV3.client)
click to toggle source
# File lib/hasoffersv3/base.rb, line 6 def initialize(client = HasOffersV3.client) @client = client end
target()
click to toggle source
# File lib/hasoffersv3/base.rb, line 11 def target name.split('::').last end
Private Class Methods
deprecation(from, to)
click to toggle source
# File lib/hasoffersv3/base.rb, line 25 def deprecation(from, to) warn "\033[31m[DEPRECATION] `#{ name }.#{ from }` is deprecated. Please use `#{ name }.#{ to }` instead.\033[0m" end
Public Instance Methods
client()
click to toggle source
# File lib/hasoffersv3/base.rb, line 70 def client @client end
get_request(method, params = {}, &block)
click to toggle source
# File lib/hasoffersv3/base.rb, line 30 def get_request(method, params = {}, &block) if block.nil? make_request(:get, method, params) else page = 1 begin response = make_request(:get, method, params.merge(page: page)) block.call response page += 1 end until page > (response.page_info['page_count'] || 1) end end
make_request(http_method, method, params)
click to toggle source
# File lib/hasoffersv3/base.rb, line 74 def make_request(http_method, method, params) @client.request(http_method, target, method, params) end
post_request(method, params = {}, &block)
click to toggle source
# File lib/hasoffersv3/base.rb, line 43 def post_request(method, params = {}, &block) if block.nil? make_request(:post, method, params) else page = 1 begin response = make_request(:post, method, params.merge(page: page)) block.call response page += 1 end until page > (response.page_info['page_count'] || 1) end end
requires!(hash, required_params)
click to toggle source
# File lib/hasoffersv3/base.rb, line 56 def requires!(hash, required_params) missing_params = [] required_params.each do |param| missing_params.push param unless hash.has_key?(param) end unless missing_params.empty? raise ArgumentError.new("Missing required parameter(s): #{missing_params.join(', ')}") end end
target()
click to toggle source
# File lib/hasoffersv3/base.rb, line 66 def target self.class.target end