class Snapcat::Response
Constants
- RECOGNIZED_CONTENT_TYPES
Attributes
code[R]
data[R]
http_success[R]
Public Class Methods
new(response, additional_fields = {})
click to toggle source
# File lib/snapcat/response.rb, line 6 def initialize(response, additional_fields = {}) @data = formatted_result(response).merge(additional_fields) @code = response.code @http_success = response.success? end
Public Instance Methods
auth_token()
click to toggle source
# File lib/snapcat/response.rb, line 12 def auth_token @data[:auth_token] end
success?()
click to toggle source
# File lib/snapcat/response.rb, line 16 def success? if !@data[:logged].nil? !!@data[:logged] else @http_success end end
Private Instance Methods
format_recognized_content(content_type, content)
click to toggle source
# File lib/snapcat/response.rb, line 26 def format_recognized_content(content_type, content) if content_type.include? 'application/json' JSON.parse(content, symbolize_names: true) elsif content_type.include? 'application/octet-stream' { media: Media.new(content) } end end
formatted_result(response)
click to toggle source
# File lib/snapcat/response.rb, line 34 def formatted_result(response) if !response_empty?(response) && recognized_content_type?(response.content_type) format_recognized_content(response.content_type, response.body) else {} end end
recognized_content_type?(content_type)
click to toggle source
# File lib/snapcat/response.rb, line 42 def recognized_content_type?(content_type) RECOGNIZED_CONTENT_TYPES.detect do |recognized_content_type| content_type.include? recognized_content_type end end
response_empty?(response)
click to toggle source
# File lib/snapcat/response.rb, line 48 def response_empty?(response) response.body.to_s.empty? end