26
27
28
29
30
31
32
33
34
35
36
37
38
39
|
# File 'lib/limited/action.rb', line 26
def initialize(name, limit, interval = nil, identifier = [])
raise ArgumentError.new("Limited::Action::name needs to be a Symbol") unless name.is_a?(Symbol)
raise ArgumentError.new("Limited::Action::limit needs to be an Integer") unless limit.is_a?(Integer)
raise ArgumentError.new("Limited::Action::limit needs to be positive") if limit < 0
@name = name
@limit = limit
@num_executed = 0
@interval = Interval.new(interval.nil? ? :endless : interval)
@identifier = identifier.is_a?(Limited::Actor::Identifier) ? identifier : Limited::Actor::Identifier.new(*identifier)
@actors = []
check_new_interval
end
|