class TTFunk::Max

Maximum aggregate. Its value can only become greater.

Attributes

value[R]

Value

@return [Comparable, nil]

Public Class Methods

new(init_value = nil) click to toggle source

@param init_value [Comparable] initial value

Calls superclass method
# File lib/ttfunk/max.rb, line 12
def initialize(init_value = nil)
  super()
  @value = init_value
end

Public Instance Methods

<<(new_value) click to toggle source

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

@param new_value [Comparable] @return [void]

# File lib/ttfunk/max.rb, line 22
def <<(new_value)
  new_value = coerce(new_value)

  if value.nil? || new_value > value
    @value = new_value
  end
end
value_or(default) click to toggle source

Get the stored value or default.

@param default [any] @return [any]

# File lib/ttfunk/max.rb, line 34
def value_or(default)
  return default if value.nil?

  value
end