class OpenWeather::Manager

Manage the number of calls to the api

Constants

LIMIT_CALLS
LIMIT_SECONDS

Public Class Methods

call() click to toggle source
# File lib/manager.rb, line 23
def self.call
  @calls += 1
end
can_consume?() click to toggle source
# File lib/manager.rb, line 10
def self.can_consume?
  if @calls < LIMIT_CALLS
    call
    true
  elsif valid_time?
    reset
    true
  else
    # puts (Time.now - @last_call_at)
    false
  end
end
reset() click to toggle source
# File lib/manager.rb, line 27
def self.reset
  # puts "Reset..."
  @calls = 0
  @last_call_at = Time.now
end
valid_time?() click to toggle source
# File lib/manager.rb, line 33
def self.valid_time?
  (Time.now - @last_call_at) >= LIMIT_SECONDS
end