Class: Attribool::Value

Inherits:
Object
  • Object
show all
Defined in:
lib/attribool/value.rb

Overview

An abstraction of any class that can convert itself to a boolean.

Instance Method Summary collapse

Constructor Details

#initialize(value, condition = nil) ⇒ Value

Construct the value with an optional Proc condition.

Parameters:

  • value (Object)
  • condition (Proc) (defaults to: nil)

    (default: nil)



13
14
15
16
17
# File 'lib/attribool/value.rb', line 13

def initialize(value, condition = nil)
  ValidatorService.call(:condition, condition)
  @value = value
  @condition = condition
end

Instance Method Details

#to_booleanBoolean

Convert the value or the condition to a boolean based off truthiness.

Returns:

  • (Boolean)


23
24
25
# File 'lib/attribool/value.rb', line 23

def to_boolean
  !!(@condition ? @condition.call(@value) : @value)
end