class Diagnostics::Sample::Controls::Clock::Incrementing

Attributes

elapsed_seconds[W]

Public Class Methods

build(interval: nil, start_time: nil) click to toggle source
# File lib/diagnostics/sample/controls/clock.rb, line 19
def self.build(interval: nil, start_time: nil)
  interval ||= Defaults.interval_seconds
  start_time ||= Defaults.start_time

  interval_nanoseconds = interval * 1_000_000

  new(start_time, interval_nanoseconds)
end
example(**args) click to toggle source
# File lib/diagnostics/sample/controls/clock.rb, line 28
def self.example(**args)
  build(**args)
end

Public Instance Methods

elapsed_seconds() click to toggle source
# File lib/diagnostics/sample/controls/clock.rb, line 12
def elapsed_seconds
  @elapsed_seconds ||= 0
end
next() click to toggle source
# File lib/diagnostics/sample/controls/clock.rb, line 32
def next
  offset = elapsed_seconds

  self.elapsed_seconds += interval_nanoseconds

  start_time_nanoseconds + offset
end
Also aliased as: now
now()
Alias for: next
start_time_nanoseconds() click to toggle source
# File lib/diagnostics/sample/controls/clock.rb, line 40
def start_time_nanoseconds
  start_time.to_i * 1_000_000
end