Module: Kernel

Defined in:
lib/safebool.rb

Instance Method Summary collapse

Instance Method Details

#Bool(o) ⇒ Object

“global” conversion function / method



67
68
69
70
71
72
73
74
75
76
77
78
# File 'lib/safebool.rb', line 67

def Bool( o )
  ## todo/discuss: check convention

  ##   only (explicit) convert if to_bool present - why? why not?

  ##    - check to_int/to_str/etc.

  if o.respond_to?( :to_bool )
    o.to_bool
  elsif o.respond_to?( :to_b )
    o.to_b
  else
    raise TypeError.new( "cannot convert >#{o.class.inspect}< to Bool; method to_bool or to_b expected")
  end
end

#bool?Boolean

Returns true if object class is TrueClass or FalseClass, otherwise false.

true.bool? #=> true false.bool? #=> true nil.bool? #=> false

Returns:

  • (Boolean)


42
# File 'lib/safebool.rb', line 42

def bool?() self.class == TrueClass || self.class == FalseClass; end

#false?Boolean

Returns true if object class is FalseClass, otherwise false.

false.false? #=> true true.false? #=> false nil.false? #=> false

Returns:

  • (Boolean)


50
# File 'lib/safebool.rb', line 50

def false?() self.class == FalseClass; end

#to_bObject

default “explicit” conversion to bool for all objects



63
# File 'lib/safebool.rb', line 63

def to_b() self ? true : false; end

#true?Boolean

Returns true is object class is TrueClass, otherwise false.

true.true? #=> true false.true? #=> false nil.true? #=> false

Returns:

  • (Boolean)


58
# File 'lib/safebool.rb', line 58

def true?() self.class == TrueClass; end