Sha256: fc72100cdf07c2602dba49f8cb7cc2982bf0bad6e2421a3add98cfa9b7d9a177

Contents?: true

Size: 765 Bytes

Versions: 4

Compression:

Stored size: 765 Bytes

Contents

require "declarative" # FIXME: here?
require "trailblazer/operation/skill"
require "trailblazer/operation/pipetree"
require "trailblazer/operation/generic"

module Trailblazer
  # The Trailblazer-style operation.
  # Note that you don't have to use our "opinionated" version with result object, skills, etc.
  class Operation
    extend Declarative::Heritage::Inherited
    extend Declarative::Heritage::DSL

    extend Skill::Accessors # ::[] and ::[]=

    include Pipetree        # ::call, ::|
    # we want the skill dependency-mechanism.
    extend Skill::Call      # ::call
    extend Skill::Call::Positional # ::call(params, options)

    # we want the initializer and the ::call method.
    include Generic         # #initialize, #call, #process.
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
trailblazer-operation-0.0.9 lib/trailblazer/operation.rb
trailblazer-operation-0.0.8 lib/trailblazer/operation.rb
trailblazer-operation-0.0.7 lib/trailblazer/operation.rb
trailblazer-operation-0.0.6 lib/trailblazer/operation.rb