Sha256: 9abd0f04186a095707d0f86ce66e9d28bf59f693c76d133fd1b95984fc9ec103
Contents?: true
Size: 463 Bytes
Versions: 7
Compression:
Stored size: 463 Bytes
Contents
# frozen_string_literal: true require 'plumb/composable' module Plumb class Build include Composable attr_reader :children def initialize(type, factory_method: :new, &block) @type = type @block = block || ->(value) { type.send(factory_method, value) } @children = [type].freeze freeze end def call(result) = result.valid(@block.call(result.value)) private def _inspect = "Build[#{@type.inspect}]" end end
Version data entries
7 entries across 7 versions & 1 rubygems