module Motion::Component::PeriodicTimers::ModuleFunctions

Analogous to `module_function` (available on both class and instance)

Public Instance Methods

every(interval, handler, name: handler) click to toggle source
# File lib/motion/component/periodic_timers.rb, line 18
def every(interval, handler, name: handler)
  periodic_timer(name, handler, every: interval)
end
periodic_timer(name, handler = name, every:) click to toggle source
# File lib/motion/component/periodic_timers.rb, line 22
def periodic_timer(name, handler = name, every:)
  self._periodic_timers =
    _periodic_timers.merge(name.to_s => [handler.to_sym, every]).freeze
end
periodic_timers() click to toggle source
# File lib/motion/component/periodic_timers.rb, line 32
def periodic_timers
  _periodic_timers.transform_values { |_handler, interval| interval }
end
stop_periodic_timer(name) click to toggle source
# File lib/motion/component/periodic_timers.rb, line 27
def stop_periodic_timer(name)
  self._periodic_timers =
    _periodic_timers.except(name.to_s).freeze
end