class Fleck::Client::Response
Attributes
body[RW]
deprecated[RW]
errors[RW]
headers[RW]
status[RW]
Public Class Methods
new(payload)
click to toggle source
# File lib/fleck/client/response.rb, line 7 def initialize(payload) @data = Oj.load(payload, mode: :compat).to_hash_with_indifferent_access.filtered! @status = @data["status"] @headers = @data["headers"] || {} @body = @data["body"] @errors = @data["errors"] || [] @deprecated = !!@data["deprecated"] end
Public Instance Methods
deprecated?()
click to toggle source
# File lib/fleck/client/response.rb, line 16 def deprecated? @deprecated end
inspect()
click to toggle source
# File lib/fleck/client/response.rb, line 43 def inspect self.to_s end
to_json(filter: false)
click to toggle source
# File lib/fleck/client/response.rb, line 20 def to_json(filter: false) data = { "status" => @status, "errors" => @errors, "headers" => @headers, "body" => @body, "deprecated" => @deprecated } data.filter! if filter return Oj.dump(data, mode: :compat) rescue => e logger.error e.inspect + "\n" + e.backtrace.join("\n") return Oj.dump({ "status" => 500, "errors" => ['Internal Server Error', 'Failed to dump the response to JSON'] }, mode: :compat) end
to_s()
click to toggle source
# File lib/fleck/client/response.rb, line 39 def to_s return "#<#{self.class} #{self.to_json(filter: true)}>" end