Sha256: 3e6a00d58b0596ab70f93fb348de714c106b5607562e9a6384c9d2d448cabc9c

Contents?: true

Size: 638 Bytes

Versions: 3

Compression:

Stored size: 638 Bytes

Contents

module Yammer
  class Response

    attr_reader :code, :body, :headers

    def initialize(response)
      @headers = response.header
      @body    = response.body
      @code    = response.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

3 entries across 3 versions & 1 rubygems

Version Path
yammer-client-0.1.2 lib/yammer/response.rb
yammer-client-0.1.1 lib/yammer/response.rb
yammer-client-0.1.0 lib/yammer/response.rb