Module: MockChargebee::Request

Defined in:
lib/mock_chargebee/request.rb

Class Method Summary collapse

Class Method Details

.request(method, url, _env, params = {}, _headers = {}) ⇒ Object



5
6
7
8
9
10
11
12
13
14
15
16
17
18
# File 'lib/mock_chargebee/request.rb', line 5

def self.request(method, url, _env, params = {}, _headers = {})
  parsed_path = Util.parse_path_from_url(url)
  parsed_params = Util.parse_params(params)

  handler = RequestHandlers.const_get(parsed_path.resource.split('_').map(&:capitalize).join(''))
  resp = handler.call(method, parsed_path, parsed_params)
  ChargeBee::Util.symbolize_keys(resp)
rescue NameError => e
  if e.message.match?(/uninitialized constant #{parsed_path.resource.capitalize}/)
    raise MockChargebee::MissingRequestHandler parsed_path.resource
  end

  raise e
end