Sha256: dc2fc100db263a0696fbbe85d8a80fc9445ac8e693652fb675dd19c421f98c91

Contents?: true

Size: 705 Bytes

Versions: 3

Compression:

Stored size: 705 Bytes

Contents

class TumblrWrapper::Response
  attr_reader :status, :message
  def initialize(faraday_response)
    @faraday_response = faraday_response
    @status = faraday_response.status
    @response = faraday_response.body["response"]
    parse_message
  end

  private
  def faraday_response
    @faraday_response
  end

  def response
    @response
  end

  def parse_message
    resp = faraday_response.body["meta"] || {}
    @message = resp.respond_to?(:keys) ? resp['msg'] : nil
  end

  def method_missing(meth, *args, &block)
    if response && response.keys.include?(meth.to_s)
      r = response[meth.to_s]
      r.respond_to?(:keys) ? r.with_indifferent_access : r
    else
      super
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
tumblr_wrapper-0.4.2 lib/tumblr_wrapper/response.rb
tumblr_wrapper-0.4.1 lib/tumblr_wrapper/response.rb
tumblr_wrapper-0.4.0 lib/tumblr_wrapper/response.rb