Sha256: b5b2d2a4141a86ee40275695a543f9c7ce2602aca6b32f95fffc1c4d38232b9e

Contents?: true

Size: 895 Bytes

Versions: 2

Compression:

Stored size: 895 Bytes

Contents

# frozen_string_literal: true

module Vedeu

  # Represent a boolean object.
  #
  # @api private
  #
  class Boolean

    # @return [Boolean]
    def self.coerce(value = nil)
      new(value).coerce
    end

    # @param value [void]
    # @return [Vedeu::Boolean]
    def initialize(value = nil)
      @value = value
    end

    # @return [Boolean]
    def coerce
      value ? true : false
    end

    # Returns a boolean indicating whether the value should be
    # considered false.
    #
    # @return [Boolean]
    def false?
      value.nil? || value == false
    end
    alias falsy? false?

    # Returns a boolean indicating whether the value should be
    # considered true.
    #
    # @return [Boolean]
    def true?
      !false?
    end
    alias truthy? true?

    private

    # @!attribute [r] value
    # @return [void]
    attr_reader :value

  end # Boolean

end # Vedeu

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
vedeu-0.8.32 lib/vedeu/boolean.rb
vedeu-0.8.31 lib/vedeu/boolean.rb