Sha256: f54b0a15c0980c67082f2bd01661f8c8b8a0e4fd05ac329d234fc140d234d1f4

Contents?: true

Size: 966 Bytes

Versions: 1

Compression:

Stored size: 966 Bytes

Contents

module Yelp4r
  class Response
    
    attr_accessor :body
    
    def initialize(response)
      @body = mash_response(response)
    end
    
    def response_code
      @body.message.code
    end
    
    def success?
      response_code == 0
    end
    
    def error_message
      @body.message.text unless success?
    end
    
    def data
      if !@body.businesses.blank?
        @body.businesses
      elsif !@body.neighborhoods.blank?
        @body.neighborhoods
      end
    end
    
    private
    
    def mash_response(response)
      if response.is_a?(Array)
        @body = []
        response.each do |b|
          if b.is_a?(Hash)
            @body << Mash.new(b.rubyify_keys!)
          else
            @body << b
          end
        end
      elsif response.is_a?(Hash)
        @body = Mash.new(response.rubyify_keys!)
      else
        @body = response
      end
    end
    
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
yelp4r-1.1.0 lib/yelp4r/response.rb