Module: ShopifyAPI::Limits::ClassMethods

Defined in:
lib/shopify-api-limits/shopify_api/limits.rb

Constant Summary collapse

CREDIT_LIMIT_HEADER_PARAM =

Takes form num_requests_executed/max_requests Eg: 101/3000

{
  :global => 'http_x_shopify_api_call_limit',
  :shop => 'http_x_shopify_shop_api_call_limit'
}

Instance Method Summary collapse

Instance Method Details

#credit_leftInteger Also known as: available_calls

How many more API calls can I make?



16
17
18
19
20
# File 'lib/shopify-api-limits/shopify_api/limits.rb', line 16

def credit_left
  shop = credit_limit(:shop) - credit_used(:shop)
  global = credit_limit(:global) - credit_used(:global)      
  shop < global ? shop : global
end

#credit_limit(scope = :shop) ⇒ Integer Also known as: call_limit

How many total API calls can I make? NOTE: subtracting 1 from credit_limit because I think ShopifyAPI cuts off at 299/2999 or shop/global limits.



38
39
40
41
# File 'lib/shopify-api-limits/shopify_api/limits.rb', line 38

def credit_limit(scope=:shop)
  @api_credit_limit ||= {}
  @api_credit_limit[scope] ||= api_credit_limit_param(scope).pop.to_i - 1     
end

#credit_maxed?Boolean Also known as: maxed?

Have I reached my API call limit?



27
28
29
# File 'lib/shopify-api-limits/shopify_api/limits.rb', line 27

def credit_maxed?
  credit_left == 0
end

#credit_used(scope = :shop) ⇒ Integer Also known as: call_count

How many API calls have I made?



49
50
51
# File 'lib/shopify-api-limits/shopify_api/limits.rb', line 49

def credit_used(scope=:shop)
  api_credit_limit_param(scope).shift.to_i
end

#responseHTTPResonse



57
58
59
60
# File 'lib/shopify-api-limits/shopify_api/limits.rb', line 57

def response
  Shop.current unless ActiveResource::Base.connection.response
  ActiveResource::Base.connection.response
end