Class: BBK::Utils::Config::BooleanCaster

Inherits:
Object
  • Object
show all
Defined in:
lib/bbk/utils/config.rb,
sig/bbk/config.rbs

Overview

Класс для приведения значений к булевому типу.

Распознаёт широкий набор "ложных" значений: 0, 'f', 'false', 'off' и их варианты. Всё остальное считается истиной. Пустые значения возвращают nil.

Examples:

BooleanCaster.cast('true')  # => true
BooleanCaster.cast('0')     # => false
BooleanCaster.cast('off')   # => false
BooleanCaster.cast(nil)     # => nil
BooleanCaster.cast('')      # => nil
BooleanCaster.cast('yes')   # => true

Constant Summary collapse

FALSE_VALUES =

Множество значений, интерпретируемых как false

Returns:

  • (Array[bool | Integer | String | Symbol])
[
  false, 0,
  '0', :"0",
  'f', :f,
  'F', :F,
  'false', false,
  'FALSE', :FALSE,
  'off', :off,
  'OFF', :OFF
].to_set.freeze

Class Method Summary collapse

Class Method Details

.cast(value) ⇒ Boolean?

Приводит значение к булевому типу.

Parameters:

  • value (Object)

    Значение для приведения

Returns:

  • (Boolean, nil)

    true, false или nil (для пустых значений)



96
97
98
99
100
101
102
# File 'lib/bbk/utils/config.rb', line 96

def self.cast(value)
  if value.nil? || value == ''
    nil
  else
    !FALSE_VALUES.include?(value)
  end
end