Class: Hungrytable::Request

Inherits:
Object
  • Object
show all
Defined in:
lib/hungrytable/request.rb

Overview

Base class for API requests

Direct Known Subclasses

GetRequest, PostRequest

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(uri, params = {}) ⇒ Request

Returns a new instance of Request.



8
9
10
11
# File 'lib/hungrytable/request.rb', line 8

def initialize(uri, params = {})
  @uri = "#{Hungrytable::Config.base_url}#{uri}" # Fixed: don't mutate base_url
  @params = params
end

Instance Attribute Details

#paramsObject (readonly)

Returns the value of attribute params.



6
7
8
# File 'lib/hungrytable/request.rb', line 6

def params
  @params
end

#uriObject (readonly)

Returns the value of attribute uri.



6
7
8
# File 'lib/hungrytable/request.rb', line 6

def uri
  @uri
end

Instance Method Details

#parsed_responseHash

Parse the JSON response

Returns:

  • (Hash)

    parsed JSON response

Raises:



16
17
18
19
20
# File 'lib/hungrytable/request.rb', line 16

def parsed_response
  JSON.parse(response_body)
rescue JSON::ParserError => e
  raise HTTPError, "Failed to parse response: #{e.message}"
end