Sha256: 3ff41821645fc7943bb3901293fb101bbead4d52a3b1461ddf1187e855b006d9

Contents?: true

Size: 648 Bytes

Versions: 2

Compression:

Stored size: 648 Bytes

Contents

module Organizai
  class Response
    
    attr_reader :http, :format, :error, :object
    
    def initialize(http_response,format)
      @http_response = http_response
      @format        = format
      @error         = http_response.code != "200"
      set_response_object
    end
    
    def error?
      @error
    end
    
    def success?
      !error?
    end
    
    private
    
    def set_response_object
      @object = case @format
      when :json
        ActiveSupport::JSON.decode(@http_response.body)
      when :xml
        Hash.from_xml(@http_response.body)['response']
      end.symbolize_keys!  
    end
    
    
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
organizai-0.1.1 lib/organizai/response.rb
organizai-0.1.0 lib/organizai/response.rb