Sha256: 5286157e030b2e75e4a3a55b97fe03ef7a41df9ed849756a42b02b037e815acf

Contents?: true

Size: 708 Bytes

Versions: 1

Compression:

Stored size: 708 Bytes

Contents

require 'singleton'

module Monad
  module Maybe
    #
    # A better nil
    #
    class Nothing < Base
      include ::Singleton
  
      def method_missing(method, *args)
        self
      end
  
      def clone
        self
      end
  
      def inspect
        'nothing'
      end
  
      def nil?
        true
      end
  
      def nothing?
        true
      end
  
      def just?
        false
      end
  
      def unwrap(val)
        val
      end
  
      def value
        nil
      end
  
      def to_json(*args)
        'null'
      end

      def to_s
        self
      end

      def to_a
        []
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
monad-maybe-0.8.0 lib/monad/maybe/nothing.rb