Class: TTFunk::Max

Inherits:
Aggregate show all
Defined in:
lib/ttfunk/max.rb

Overview

Maximum aggregate. Its value can only become greater.

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(init_value = nil) ⇒ Max

Returns a new instance of Max.

Parameters:

  • init_value (Comparable) (defaults to: nil)

    initial value

Source Code
lib/ttfunk/max.rb, line 12
12
def initialize(init_value = nil)
13
  super()
14
  @value = init_value
15
end

Instance Attribute Details

#valueComparable? (readonly)

Value

Returns:

  • (Comparable, nil)
Source Code
lib/ttfunk/max.rb, line 9
9
def value
10
  @value
11
end

Instance Method Details

#<<(new_value) ⇒ void

This method returns an undefined value.

Push a value. It will become the new value if it’s greater than the current value (or if there was no value).

Parameters:

  • new_value (Comparable)
Source Code
lib/ttfunk/max.rb, line 22
22
def <<(new_value)
23
  new_value = coerce(new_value)
24
25
  if value.nil? || new_value > value
26
    @value = new_value
27
  end
28
end

#value_or(default) ⇒ any

Get the stored value or default.

Parameters:

  • default (any)

Returns:

  • (any)
Source Code
lib/ttfunk/max.rb, line 34
34
def value_or(default)
35
  return default if value.nil?
36
37
  value
38
end