Sha256: 168f487b13978a5f47f3027a518c1fe31b8c0c81631cdf97d4170edcf71824b3

Contents?: true

Size: 735 Bytes

Versions: 1

Compression:

Stored size: 735 Bytes

Contents

# frozen_string_literal: true

module Muina
  class Maybe
    class None < self
      private_class_method(:new)
      def initialize
        freeze
      end

      def some?
        false
      end

      def none?
        true
      end

      def value!
        raise
      end

      def value_or(default)
        default
      end

      def value_or_yield
        yield
      end

      def value_or_nil
        nil
      end

      def and_then
        self
      end

      def or_else
        yield
        self
      end

      def map
        self
      end
      
      def map_none
        Maybe.return yield
      end

      def bind
        self
      end

      def bind_none
        yield
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
muina-0.4.0 lib/muina/maybe/none.rb