Module: ShopifyAPI::Limits::ClassMethods

Defined in:
lib/shopify_api/limits.rb

Constant Summary

CREDIT_LIMIT_HEADER_PARAM =

Takes form num_requests_executed/max_requests Eg: 101/3000

{
  :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?



21
22
23
# File 'lib/shopify_api/limits.rb', line 21

def credit_left
  credit_limit(:shop) - credit_used(:shop)
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 or shop limits.



41
42
43
44
# File 'lib/shopify_api/limits.rb', line 41

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?



30
31
32
# File 'lib/shopify_api/limits.rb', line 30

def credit_maxed?
  credit_left <= 0
end

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

How many API calls have I made?



52
53
54
# File 'lib/shopify_api/limits.rb', line 52

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

#responseHTTPResonse



60
61
62
63
# File 'lib/shopify_api/limits.rb', line 60

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