class GuestyAPI::ResourceBase
Public Class Methods
new(client)
click to toggle source
# File lib/guesty_api/resource_base.rb, line 5 def initialize(client) @client = client end
Private Instance Methods
check_response!(response)
click to toggle source
# File lib/guesty_api/resource_base.rb, line 15 def check_response!(response) parsed = response.parsed_response msg = parsed.is_a?(Hash) ? parsed['message'] || parsed.dig('error', 'message') : parsed throw!(msg: msg, code: response.code) unless response.success? end
collection_entity(response)
click to toggle source
# File lib/guesty_api/resource_base.rb, line 26 def collection_entity(response) response.parsed_response['results'].map { |payload| entity_class.new payload } end
entity_class()
click to toggle source
# File lib/guesty_api/resource_base.rb, line 11 def entity_class raise StandardError, '`:entity_class method` should be overriden in a subclass' end
single_entity(response)
click to toggle source
# File lib/guesty_api/resource_base.rb, line 22 def single_entity(response) entity_class.new response.parsed_response end
throw!(msg:, code:)
click to toggle source
# File lib/guesty_api/resource_base.rb, line 30 def throw!(msg:, code:) raise APIError.new(msg, code) end