Sha256: 923ee78a5ef8917b6d6a5903126744e97fa5c1f9221807fc05c2a169e5c14e0e

Contents?: true

Size: 958 Bytes

Versions: 1

Compression:

Stored size: 958 Bytes

Contents

# encoding: utf-8

module Axiom
  class Attribute

    # Represents a Boolean value in a relation tuple
    class Boolean < Object
      include Function::Connective::Conjunction::Methods,
              Function::Connective::Disjunction::Methods,
              Function::Connective::Negation::Methods

      # The Boolean primitive
      #
      # @example
      #   Boolean.primitive  # => TrueClass
      #
      # @return [Class<TrueClass>]
      #
      # @api public
      def self.primitive
        TrueClass
      end

      # Test if the value is a boolean
      #
      # @example
      #   boolean.valid_value?(value)  # => true or false
      #
      # @param [Object] value
      #   the value to test
      #
      # @return [Boolean]
      #
      # @api public
      def valid_value?(value)
        valid_or_optional?(value) { super || value.kind_of?(FalseClass) }
      end

    end # class Boolean
  end # class Attribute
end # module Axiom

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
axiom-0.1.0 lib/axiom/attribute/boolean.rb