module Stripe::APIOperations::Request::ClassMethods
def error_on_invalid_params(params)
def error_on_invalid_params(params) if params.nil? || params.is_a?(Hash) ArgumentError, "request params should be either a Hash or nil " \ "(was a #{params.class})"
def error_on_non_string_user_opts(opts)
def error_on_non_string_user_opts(opts) OPTS_USER_SPECIFIED.each do |opt| unless opts.key?(opt) = opts[opt] if val.nil? if val.is_a?(String) e ArgumentError, "request option '#{opt}' should be a string value " \ "(was a #{val.class})"
def execute_resource_request(method, url,
def execute_resource_request(method, url, params = {}, opts = {}) execute_resource_request_internal( :execute_request, method, url, params, opts ) end
def execute_resource_request_internal(client_request_method_sym,
def execute_resource_request_internal(client_request_method_sym, method, url, params, opts, &read_body_chunk_block) ||= {} on_invalid_params(params) n_opts_in_params(params) Util.normalize_opts(opts) on_non_string_user_opts(opts) client] ||= StripeClient.active_client s = opts.clone y = headers.delete(:api_key) se = headers.delete(:api_base) = headers.delete(:client) de = headers.delete(:api_mode) me all remaining opts must be headers opts[:api_key] = client.send( nt_request_method_sym, od, url, base: api_base, api_key: api_key, ers: headers, params: params, mode: api_mode, d_body_chunk_block #select returns an array before 1.9 o_persist = {} ach do |k, v| _to_persist[k] = v if Util::OPTS_PERSISTABLE.include?(k) opts_to_persist]
def execute_resource_request_stream(method, url,
def execute_resource_request_stream(method, url, params = {}, opts = {}, &read_body_chunk_block) execute_resource_request_internal( :execute_request_stream, method, url, params, opts, &read_body_chunk_block ) end
def request_stripe_object(method:, path:, params:, opts: {})
def request_stripe_object(method:, path:, params:, opts: {}) opts = execute_resource_request(method, path, params, opts) onvert_to_stripe_object_with_params(resp.data, params, opts)
def warn_on_opts_in_params(params)
def warn_on_opts_in_params(params) OPTS_USER_SPECIFIED.each do |opt| arams.key?(opt) rn("WARNING: '#{opt}' should be in opts instead of params.")