Module: Kernel

Defined in:
lib/kernel.rb,
lib/kernel/boolean.rb

Overview

The Kernel module.

Instance Method Summary collapse

Instance Method Details

#Boolean(arg) ⇒ Boolean

Note:

Converts arg to a boolean. Since a boolean is either true or false, and true and false are both a singleton, the true value can only be returned if the argument is true, and the false value can only be returned if the argument is false. Therefore, this method can be used to validate that the argument is a boolean.

Returns Either true or false.

Examples:

require "kernel/boolean"

Boolean(false)  # => false
Boolean(true)   # => true
Boolean(nil)    # => TypeError: can't convert nil into boolean
Boolean("true") # => ArgumentError: invalid value for Boolean(): "true"

Parameters:

  • arg (#object_id)

    An object that must be a boolean.

Returns:

  • (Boolean)

    Either true or false.

Raises:

  • (ArgumentError, TypeError)

    Not conform with boolean representation.



26
27
28
29
30
31
32
# File 'lib/kernel/boolean.rb', line 26

def Boolean(arg)
  return true if true.equal?(arg)
  return false if false.equal?(arg)

  raise ::TypeError, "can't convert nil into boolean" if arg.nil?
  raise ::ArgumentError, "invalid value for Boolean(): #{arg.inspect}"
end