class Etsy::Request
Request
¶ ↑
A basic wrapper around GET requests to the Etsy
JSON API
Public Class Methods
delete(resource_path, parameters = {})
click to toggle source
# File lib/etsy/request.rb, line 26 def self.delete(resource_path, parameters = {}) request = Request.new(resource_path, parameters) Response.new(request.delete) end
get(resource_path, parameters = {})
click to toggle source
Perform a GET request for the resource with optional parameters - returns A Response
object with the payload data
# File lib/etsy/request.rb, line 11 def self.get(resource_path, parameters = {}) request = Request.new(resource_path, parameters) Response.new(request.get) end
new(resource_path, parameters = {})
click to toggle source
Create a new request for the resource with optional parameters
# File lib/etsy/request.rb, line 34 def initialize(resource_path, parameters = {}) parameters = parameters.dup @token = parameters.delete(:access_token) || Etsy.credentials[:access_token] @secret = parameters.delete(:access_secret) || Etsy.credentials[:access_secret] raise("Secure connection required. Please provide your OAuth credentials via :access_token and :access_secret in the parameters") if parameters.delete(:require_secure) && !secure? @multipart_request = parameters.delete(:multipart) @resource_path = resource_path @resources = parameters.delete(:includes) if @resources.class == String @resources = @resources.split(',').map {|r| {:resource => r}} elsif @resources.class == Array @resources = @resources.map do |r| if r.class == String {:resource => r} else r end end end parameters = parameters.merge(:api_key => Etsy.api_key) unless secure? @parameters = parameters end
post(resource_path, parameters = {})
click to toggle source
# File lib/etsy/request.rb, line 16 def self.post(resource_path, parameters = {}) request = Request.new(resource_path, parameters) Response.new(request.post) end
put(resource_path, parameters = {})
click to toggle source
# File lib/etsy/request.rb, line 21 def self.put(resource_path, parameters = {}) request = Request.new(resource_path, parameters) Response.new(request.put) end
Public Instance Methods
delete()
click to toggle source
# File lib/etsy/request.rb, line 79 def delete client.delete(endpoint_url) end
get()
click to toggle source
Perform a GET request against the API endpoint and return the raw response data
# File lib/etsy/request.rb, line 63 def get client.get(endpoint_url) end
multipart?()
click to toggle source
# File lib/etsy/request.rb, line 131 def multipart? !!@multipart_request end
post()
click to toggle source
# File lib/etsy/request.rb, line 67 def post if multipart? client.post_multipart(endpoint_url(:include_query => false), @parameters) else client.post(endpoint_url) end end
put()
click to toggle source
# File lib/etsy/request.rb, line 75 def put client.put(endpoint_url) end
to_url(val)
click to toggle source
# File lib/etsy/request.rb, line 99 def to_url(val) if val.is_a? Array to_url(val.join(',')) elsif val.is_a? Hash val.reject { |k, v| k.nil? || v.nil? || (k.respond_to?(:empty?) && k.empty?) || (v.respond_to?(:empty?) && v.empty?) }.map { |k, v| "#{to_url(k.to_s)}=#{to_url(v)}" }.join('&') else URI.escape(val.to_s, Regexp.new("[^#{URI::PATTERN::UNRESERVED}]")) end end
Private Instance Methods
basic_client()
click to toggle source
# File lib/etsy/request.rb, line 141 def basic_client BasicClient.new end
secure?()
click to toggle source
# File lib/etsy/request.rb, line 145 def secure? !@token.nil? && !@secret.nil? end
secure_client()
click to toggle source
# File lib/etsy/request.rb, line 137 def secure_client SecureClient.new(:access_token => @token, :access_secret => @secret) end