Class: Woocommerce::API
Constant Summary collapse
- DEFAULT_TIMEOUT =
Default timeout of 3 seconds
180- API_ENDPOINT =
'/wc-api/v2/'- DEFAULT_HEADERS =
Default headers for HTTP requests
{ 'User-Agent' => "WooCommerce gem #{Woocommerce::VERSION}", }
Instance Attribute Summary collapse
-
#consumer_key ⇒ Object
Returns the value of attribute consumer_key.
-
#consumer_secret ⇒ Object
Returns the value of attribute consumer_secret.
Instance Method Summary collapse
-
#debug(location = $stderr) ⇒ Object
Turn on HTTParty debugging.
- #get_product(product_id) ⇒ Object
- #get_products ⇒ Object
-
#initialize(consumer_key, consumer_secret, store_url) ⇒ API
constructor
A new instance of API.
- #set_http_headers(http_headers = {}) ⇒ Object
- #set_timeout(timeout) ⇒ Object
- #woocommerce_api_url_for(method) ⇒ Object
Constructor Details
#initialize(consumer_key, consumer_secret, store_url) ⇒ API
25 26 27 28 29 30 31 32 33 34 35 |
# 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 |
Instance Attribute Details
#consumer_key ⇒ Object
Returns the value of attribute consumer_key.
19 20 21 |
# File 'lib/woocommerce.rb', line 19 def consumer_key @consumer_key end |
#consumer_secret ⇒ Object
Returns the value of attribute consumer_secret.
19 20 21 |
# File 'lib/woocommerce.rb', line 19 def consumer_secret @consumer_secret end |
Instance Method Details
#debug(location = $stderr) ⇒ Object
Turn on HTTParty debugging
40 41 42 |
# File 'lib/woocommerce.rb', line 40 def debug(location = $stderr) self.class.debug_output(location) end |
#get_product(product_id) ⇒ Object
58 59 60 61 |
# File 'lib/woocommerce.rb', line 58 def get_product(product_id) endpoint = woocommerce_api_url_for("products/#{product_id}") self.class.get(endpoint).parsed_response end |
#get_products ⇒ Object
53 54 55 56 |
# File 'lib/woocommerce.rb', line 53 def get_products endpoint = woocommerce_api_url_for('products') self.class.get(endpoint).parsed_response end |
#set_http_headers(http_headers = {}) ⇒ Object
44 45 46 47 |
# 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) ⇒ Object
49 50 51 |
# File 'lib/woocommerce.rb', line 49 def set_timeout(timeout) self.class.default_timeout(timeout) end |
#woocommerce_api_url_for(method) ⇒ Object
63 64 65 |
# File 'lib/woocommerce.rb', line 63 def woocommerce_api_url_for(method) "#{self.class.base_uri}/#{method}" end |