Sha256: 92ca6e053e063fd1fff947756bccb4f4d3ad822c9c502c86720a7226c3ef1be8
Contents?: true
Size: 776 Bytes
Versions: 1
Compression:
Stored size: 776 Bytes
Contents
require 'delegate' require 'transflow' require 'rodakase/transaction/result' require 'rodakase/transaction/matcher' module Rodakase module Transaction class Flow extend Forwardable def_delegator :@transaction, :subscribe attr_reader :transaction def initialize(transaction) @transaction = transaction end def call(*args, &block) result = transaction.call(*args) if block yield(Matcher.new(result)) else result end end end class Composer attr_reader :container def initialize(container) @container = container end def define(&block) Flow.new(Transflow(container: container, &block)) end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
rodakase-0.0.1 | lib/rodakase/transaction.rb |