Sha256: 9677732ad61c72a9c674349b12dd7658c0d0ee4cb06995124b2840b4c5251977

Contents?: true

Size: 882 Bytes

Versions: 3

Compression:

Stored size: 882 Bytes

Contents

module Access
  class Request
    include HTTParty

    def get(path, api_type, options={})
      set_format
      results = self.class.get(set_base(api_type) + path, headers: headers, query: options)
      handle_results(results)
    end

    private

    def handle_results(results)
      Access.config.hashify == "true" ? results.hashify : results
    end

    def set_base(api_type)
      "https://#{ api_type }#{ Access.config.api_environment == 'production' ? '' : '-demo' }.adcrws.com/#{Access.config.api_version}"
    end

    def set_format
      raise Access::Error::InvalidResponseFormat unless [:json, :xml].include?(Access.config.format.to_sym)
      self.class.format Access.config.format.to_sym
    end

    def headers
      raise Access::Error::NoAccessToken unless Access.config.access_token
      {"Access-Token" => Access.config.access_token}
    end

  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
access-1.1.1 lib/access/request.rb
access-1.1.0 lib/access/request.rb
access-1.0.8 lib/access/request.rb