Sha256: 8f71c0d900901ea5d91b83e3911e6097f47d14730dc2328c31dca455837ed8e4

Contents?: true

Size: 619 Bytes

Versions: 6

Compression:

Stored size: 619 Bytes

Contents

module Yammer
  class ApiResponse

    attr_reader :code, :headers

    def initialize(headers, body, code)
      @headers = headers
      @body    = body
      @code    = code.to_i
    end

    def raw_body
      @body
    end

    def body
      @parsed_body ||= parse(@body)
    end

    def empty?
      @body.nil? || @body.strip.empty?
    end

    def success?
      @code == 200
    end

    def created?
      @code == 201
    end

  private

    def parse(body)
      case body
      when /\A^\s*$\z/, nil
        nil
      else
        MultiJson.load(body, :symbolize_keys => true)
      end
    end
  end
end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
yammer-client-0.1.8 lib/yammer/api_response.rb
yammer-client-0.1.7 lib/yammer/api_response.rb
yammer-client-0.1.6 lib/yammer/api_response.rb
yammer-client-0.1.5 lib/yammer/api_response.rb
yammer-client-0.1.4 lib/yammer/api_response.rb
yammer-client-0.1.3 lib/yammer/api_response.rb