Module: Plumbing

Defined in:
lib/plumbing/config.rb,
lib/plumbing.rb,
lib/plumbing/pipe.rb,
lib/plumbing/actor.rb,
lib/plumbing/error.rb,
lib/plumbing/types.rb,
lib/plumbing/version.rb,
lib/plumbing/pipeline.rb,
lib/plumbing/spec/modes.rb,
lib/plumbing/actor/async.rb,
lib/plumbing/actor/rails.rb,
lib/plumbing/pipe/filter.rb,
lib/plumbing/rubber_duck.rb,
lib/plumbing/actor/inline.rb,
lib/plumbing/actor/kernel.rb,
lib/plumbing/pipe/junction.rb,
lib/plumbing/actor/threaded.rb,
lib/plumbing/actor/transporter.rb,
lib/plumbing/rubber_duck/proxy.rb,
lib/plumbing/pipe/custom_filter.rb,
lib/plumbing/pipeline/contracts.rb,
lib/plumbing/rubber_duck/module.rb,
lib/plumbing/rubber_duck/object.rb,
lib/plumbing/pipeline/operations.rb

Overview

Pipes, pipelines, actors and rubber ducks

Defined Under Namespace

Modules: Actor, Pipeline, Spec Classes: Error, InvalidEvent, Pipe, PostConditionError, PreConditionError, RubberDuck

Constant Summary collapse

Callable =
RubberDuck.define :call
Observable =
RubberDuck.define :add_observer, :remove_observer, :is_observer?
DispatchesEvents =
RubberDuck.define :add_observer, :remove_observer, :is_observer?, :shutdown, :dispatch
Collection =
RubberDuck.define :each, :<<, :delete, :include?
VERSION =
"0.5.2"

Class Method Summary collapse

Class Method Details

.configConfig

Access the current configuration

Returns:

  • (Config)


7
8
9
# File 'lib/plumbing/config.rb', line 7

def self.config
  configs.last
end

.configure(**params) { ... } ⇒ Object

Configure the plumbing

Parameters:

  • params (Hash)

    the configuration options

  • mode (Hash)

    a customizable set of options

  • timeout (Hash)

    a customizable set of options

Yields:

  • optional block - after the block has completed its execution, the configuration is restored to its previous state (useful for test suites)



16
17
18
19
20
21
22
23
# File 'lib/plumbing/config.rb', line 16

def self.configure(**params, &block)
  new_config = Config.new(**config.to_h.merge(params).merge(actor_proxy_classes: {}))
  if block.nil?
    set_configuration_to new_config
  else
    set_configuration_and_yield new_config, &block
  end
end