Module: Dynflow::Clock::Timer

Includes:
Comparable
Defined in:
lib/dynflow/clock.rb

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.[](*fields) ⇒ Object



15
16
17
# File 'lib/dynflow/clock.rb', line 15

def self.[](*fields)
  super(*fields).tap { |v| Match! v.who, ->who { who.respond_to? v.where } }
end

Instance Method Details

#<=>(other) ⇒ Object



21
22
23
24
# File 'lib/dynflow/clock.rb', line 21

def <=>(other)
  Type! other, self.class
  self.when <=> other.when
end

#applyObject



34
35
36
37
38
39
40
# File 'lib/dynflow/clock.rb', line 34

def apply
  if Algebrick::Some[Object] === what
    who.send where, what.value
  else
    who.send where
  end
end

#eql?(other) ⇒ Boolean

Returns:

  • (Boolean)


26
27
28
# File 'lib/dynflow/clock.rb', line 26

def eql?(other)
  object_id == other.object_id
end

#hashObject



30
31
32
# File 'lib/dynflow/clock.rb', line 30

def hash
  object_id
end