class Unimatrix::Activist::Response

Attributes

body[R]
code[R]
resources[R]

Public Class Methods

new( http_response ) click to toggle source
# File lib/unimatrix/activist/response.rb, line 9
def initialize( http_response )
  @success        = http_response.is_a?( Net::HTTPOK )
  @code           = http_response.code
  @resources      = []
  @body           = decode_response_body( http_response )

  if ( @body && @body.respond_to?( :keys ) )
    Parser.new( @body ) do | parser |
      @resources = parser.resources
      @success   = !( parser.type_name == 'error' )
    end
  else
    @success  = false
    @resources << Error.new(
      message: "#{ @code }: #{ http_response.message }."
    )
  end
end

Public Instance Methods

success?() click to toggle source
# File lib/unimatrix/activist/response.rb, line 28
def success?
  @success
end

Protected Instance Methods

decode_response_body( http_response ) click to toggle source
# File lib/unimatrix/activist/response.rb, line 32
           def decode_response_body( http_response )
  body = http_response.body

  if body.present?
    JSON.parse( body ) rescue nil
  else
    nil
  end
end