class ShopifyApiConnector
Public Class Methods
new(config)
click to toggle source
# File lib/shopify_api_connector.rb, line 7 def initialize(config) raise ArgumentError.new("Required class type 'Config' - recieved #{config.class}") unless config.kind_of? Config @config = config end
Public Instance Methods
get_num_orders()
click to toggle source
# File lib/shopify_api_connector.rb, line 31 def get_num_orders uri = URI("https://#{@config.host}/admin/orders/count.json?access_token=#{@config.access_token}") Net::HTTP.start(uri.host, uri.port, :use_ssl => uri.scheme == 'https') do |http| request = Net::HTTP::Get.new uri response = http.request request # Net::HTTPResponse object return JSON.parse(response.body)["count"] end return nil end
get_orders()
click to toggle source
# File lib/shopify_api_connector.rb, line 12 def get_orders num_orders = get_num_orders orders = nil page_num = 1 while orders.nil? or orders.count < num_orders uri = URI("https://#{@config.host}/admin/orders.json?page=#{page_num}&access_token=#{@config.access_token}") Net::HTTP.start(uri.host, uri.port, :use_ssl => uri.scheme == 'https') do |http| request = Net::HTTP::Get.new uri response = http.request request # Net::HTTPResponse object response_json = JSON.parse(response.body) orders.nil? ? orders = response_json["orders"] : orders = orders + response_json["orders"] end page_num += 1 end return orders end