class Woocommerce::API
Constants
- API_ENDPOINT
- DEFAULT_HEADERS
Default headers for HTTP requests
- DEFAULT_TIMEOUT
Default timeout of 3 seconds
Attributes
consumer_key[RW]
consumer_secret[RW]
Public Class Methods
new(consumer_key, consumer_secret, store_url)
click to toggle source
# File lib/woocommerce.rb, line 25 def initialize(consumer_key, consumer_secret, store_url) if consumer_key and consumer_secret and store_url and store_url.start_with?('https') @consumer_key = consumer_key @consumer_secret = consumer_secret self.class.base_uri store_url + API_ENDPOINT self.class.default_params consumer_key: @consumer_key self.class.default_params consumer_secret: @consumer_secret else raise 'We need all arguments, and store_url must start with https' end end
Public Instance Methods
debug(location = $stderr)
click to toggle source
Turn on HTTParty debugging
@param location [Object] Output “sink” for HTTP debugging
# File lib/woocommerce.rb, line 40 def debug(location = $stderr) self.class.debug_output(location) end
get_product(product_id)
click to toggle source
# File lib/woocommerce.rb, line 67 def get_product(product_id) endpoint = woocommerce_api_url_for("products/#{product_id}") self.class.get(endpoint).parsed_response end
get_products(per_page = 10, page = 1)
click to toggle source
# File lib/woocommerce.rb, line 53 def get_products(per_page = 10, page = 1) options = { filter: {limit: per_page}, page: page } endpoint = woocommerce_api_url_for('products') self.class.get(endpoint, query: options).parsed_response end
get_products_count()
click to toggle source
# File lib/woocommerce.rb, line 62 def get_products_count endpoint = woocommerce_api_url_for('products/count') self.class.get(endpoint).parsed_response end
set_http_headers(http_headers = {})
click to toggle source
# File lib/woocommerce.rb, line 44 def set_http_headers(http_headers = {}) http_headers.merge!(DEFAULT_HEADERS) self.class.headers(http_headers) end
set_timeout(timeout)
click to toggle source
# File lib/woocommerce.rb, line 49 def set_timeout(timeout) self.class.default_timeout(timeout) end
woocommerce_api_url_for(method)
click to toggle source
# File lib/woocommerce.rb, line 72 def woocommerce_api_url_for(method) "#{self.class.base_uri}/#{method}" end