Sha256: 202b679e8af93cf76f693a7ddd3ece9c2bf3c4434f315edba665717f8c3eafaf

Contents?: true

Size: 1.3 KB

Versions: 16

Compression:

Stored size: 1.3 KB

Contents

#--
# As suggested by Ara T. Howard
#++

module Kernel

  # Returns true is an object is class TrueClass,
  # otherwise false.
  #
  #   true.true?   #=> true
  #   false.true?  #=> false
  #   nil.true?    #=> false
  #
  def true?
    (true == self)
  end

  # Returns true is an object is class FalseClass,
  # otherwise false.
  #
  #   true.false?   #=> false
  #   false.false?  #=> true
  #   nil.false?    #=> false
  #
  def false?
    (false == self)
  end

  # Returns true is an object is class TrueClass
  # or FalseClass, otherwise false.
  #
  #   true.bool?   #=> true
  #   false.bool?  #=> true
  #   nil.bool?    #=> false
  #
  def bool?
    (true == self or false == self)
  end

end



#  _____         _
# |_   _|__  ___| |_
#   | |/ _ \/ __| __|
#   | |  __/\__ \ |_
#   |_|\___||___/\__|
#
=begin test

  require 'test/unit'

  class TCKernel < Test::Unit::TestCase

    def test_false?
      assert( false.false? )
      assert( (1 == 2).false? )
      assert( ! (1 == 1).false? )
    end

    def test_true?
      assert( true.true? )
      assert( (1 == 1).true? )
      assert( ! (1 == 2).true? )
    end

    def test_bool?
      assert_equal( true, true.bool? )
      assert_equal( true, false.bool? )
      assert_equal( false, nil.bool? )
      assert_equal( false, 0.bool? )
    end

  end

=end

Version data entries

16 entries across 16 versions & 1 rubygems

Version Path
facets-1.4.0 lib/facets/core/kernel/bool.rb
facets-1.4.1 lib/facets/core/kernel/bool.rb
facets-1.4.2 lib/facets/core/kernel/bool.rb
facets-1.4.3 lib/facets/core/kernel/bool.rb
facets-1.4.5 lib/facets/core/kernel/bool.rb
facets-1.4.4 lib/facets/core/kernel/bool.rb
facets-1.7.38 lib/facets/core/kernel/bool.rb
facets-1.7.0 lib/facets/core/kernel/bool.rb
facets-1.7.30 lib/facets/core/kernel/bool.rb
facets-1.7.46 lib/facets/core/kernel/bool.rb
facets-1.8.0 lib/facets/core/kernel/bool.rb
facets-1.8.20 lib/facets/core/kernel/bool.rb
facets-1.8.49 lib/facets/core/kernel/bool.rb
facets-1.8.51 lib/facets/core/kernel/bool.rb
facets-1.8.54 lib/facets/core/kernel/bool.rb
facets-1.8.8 lib/facets/core/kernel/bool.rb