class Nova::API::ListResponse
Public Class Methods
build(response, klass)
click to toggle source
# File lib/nova/api/list_response.rb, line 13 def self.build(response, klass) success = response.success? status = response.code parsed_response = response.parsed_response records = nil if parsed_response.is_a?(Array) records = build_records(klass, parsed_response) else parsed_response = parsed_response.to_h errors = extract_error_from_response('error', parsed_response) errors ||= extract_error_from_response('errors', parsed_response) end errors ||= [] new(success: success, errors: errors, records: records, status: status) end
Private Class Methods
build_records(klass, response)
click to toggle source
# File lib/nova/api/list_response.rb, line 43 def self.build_records(klass, response) response.map { |object| klass.new(object) } unless klass.nil? end
extract_error_from_response(field, response)
click to toggle source
# File lib/nova/api/list_response.rb, line 37 def self.extract_error_from_response(field, response) return unless response.has_key?(field) response[field].is_a?(Array) ? response[field] : [response[field]] end