Sha256: d4d87852a0dc077a62e4b30c2f362f16ebd47f1d3fc6f08a200cba9a264bd9aa
Contents?: true
Size: 1.03 KB
Versions: 1
Compression:
Stored size: 1.03 KB
Contents
# frozen_string_literal: true module Fear class Some include Option include RightBiased::Right include SomePatternMatch.mixin EXTRACTOR = proc do |option| if Fear::Some === option Fear.some([option.get]) else Fear.none end end attr_reader :value protected :value def initialize(value) @value = value end # @return [any] def get @value end # @return [any] def or_nil @value end # @return [false] def empty? false end # @return [Option] def select if yield(value) self else None end end # @return [Option] def reject if yield(value) None else self end end # @param other [Any] # @return [Boolean] def ==(other) other.is_a?(Some) && get == other.get end # @return [String] def inspect "#<Fear::Some get=#{value.inspect}>" end # @return [String] alias to_s inspect end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
fear-1.1.0 | lib/fear/some.rb |