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