Sha256: 95c740ae19ef45e6ec7a9e7eb979cd829e15bfc89d11f3270d3df0c5b0405de4

Contents?: true

Size: 484 Bytes

Versions: 1

Compression:

Stored size: 484 Bytes

Contents

require 'unboolean/version'
require 'singleton'

module Unboolean
  class Maybe
    # May be singleton?
    def self.new
      @__unboolean_maybe_instance ||= super
    end

    def &(value)
      value.is_a?(FalseClass) ? false : Maybe.new
    end

    def |(value)
      value.is_a?(TrueClass) ? true : Maybe.new
    end

    def ^(*)
      Maybe.new
    end

    def !
      Maybe.new
    end

    def ==(*)
      Maybe.new
    end

    def inspect
      'maybe'
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
unboolean-0.0.2 lib/unboolean/maybe.rb