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?

Returns:

  • (Integer)


19
20
21
# File 'lib/shopify_api/limits.rb', line 19

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.

Parameters:

  • scope (Symbol) (defaults to: :shop)
    :shop

Returns:

  • (Integer)


39
40
41
42
# File 'lib/shopify_api/limits.rb', line 39

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?

Returns:

  • (Boolean)


28
29
30
# File 'lib/shopify_api/limits.rb', line 28

def credit_maxed?
  credit_left <= 0
end

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

How many API calls have I made?

Parameters:

  • scope (Symbol) (defaults to: :shop)
    :shop

Returns:

  • (Integer)


50
51
52
# File 'lib/shopify_api/limits.rb', line 50

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

#responseHTTPResonse

Returns:

  • (HTTPResonse)


58
59
60
61
# File 'lib/shopify_api/limits.rb', line 58

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