class Github::ResponseWrapper

A class responsible for proxing to faraday response

def ==(other)


Compare the wrapper with other wrapper for equality
def ==(other)
  self.env == other.env &&
  self.body == other.body
end

def [](key)


Convert any key to string before calling.
Lookup an attribute from the body.
def [](key)
  self.body.send(:"#{key}")
end

def body


Response raw body
def body
  response.body
end

def each


Iterate over each resource inside the body
def each
  body_parts = self.body.respond_to?(:each) ? self.body : [self.body]
  return body_parts.to_enum unless block_given?
  body_parts.each { |part| yield(part) }
end

def has_key?(key)


Check if body has an attribute
def has_key?(key)
  !self.body.is_a?(Array) && self.body.has_key?(key)
end

def headers


Return response headers
def headers
  Github::Response::Header.new(env)
end

def initialize(response, current_api)

def initialize(response, current_api)
  @response    = response
  @current_api = current_api
  @env         = response.env
end

def inspect


Print only response body
def inspect
  "#<#{self.class.name} @body=\"#{self.body}\">"
end

def method_missing(method_name, *args, &block)


Coerce any method calls for body attributes
def method_missing(method_name, *args, &block)
  if self.has_key?(method_name.to_s)
    self.[](method_name, &block)
  else
    super
  end
end

def respond_to?(method_name)


Check if method is defined on the body
def respond_to?(method_name)
  if self.has_key?(method_name.to_s)
    true
  else
    super
  end
end

def status


Response status
def status
  response.status
end

def success?

def success?
  response.success?
end

def to_ary


Convert the ResponseWrapper into an Array
def to_ary
  body.to_ary
end

def to_hash


Convert the ResponseWrapper into a Hash
def to_hash
  body.to_hash
end

def to_s


Return response body as string
def to_s
  body.to_s
end

def url


Request url
def url
  response.env[:url].to_s
end