class AVR::Clock::Sink

Public Class Methods

new(name = nil, sink_proc = nil, &block) click to toggle source
# File lib/avr/clock.rb, line 18
def initialize(name = nil, sink_proc = nil, &block)
  raise unless sink_proc || block_given?
  @name = name
  @sink_proc = T.let(
    sink_proc || block&.to_proc,
    T.nilable(T.proc.params(source: Clock, ticks: Integer).void)
  )
end

Public Instance Methods

tick(source, ticks) click to toggle source
# File lib/avr/clock.rb, line 28
def tick(source, ticks)
  T.must(@sink_proc).call(source, ticks)
end