Sha256: b2e989365698aa0277b2d5006e35c50d1050e3b07cd28d7ceb2fa42b36a010f6
Contents?: true
Size: 965 Bytes
Versions: 3
Compression:
Stored size: 965 Bytes
Contents
# frozen_string_literal: true module Dry module Effects module Providers class Cmp < Provider[:cmp] include ::Dry::Equalizer(:id, :value, inspect: false) attr_reader :value param :id def get value end # Yield the block with the handler installed # # @return [Array(Any, Any)] # @api private def call(value = Undefined) if Undefined.equal?(value) @value = false first = yield @value = true [first, yield] else @value = value yield end end # @param [Effect] effect # @return [Boolean] # @api public def provide?(effect) super && id.equal?(effect.id) end # @return [String] # @api public def represent "cmp[#{id}=#{@value}]" end end end end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
dry-effects-0.4.1 | lib/dry/effects/providers/cmp.rb |
dry-effects-0.4.0 | lib/dry/effects/providers/cmp.rb |
dry-effects-0.3.1 | lib/dry/effects/providers/cmp.rb |