Module Ruote
In: lib/ruote/receiver/base.rb
lib/ruote/error_handler.rb
lib/ruote/storage/composite_storage.rb
lib/ruote/storage/hash_storage.rb
lib/ruote/storage/base.rb
lib/ruote/storage/fs_storage.rb
lib/ruote/fei.rb
lib/ruote/exp/expression_map.rb
lib/ruote/exp/fe_error.rb
lib/ruote/part/dispatch_pool.rb
lib/ruote/part/hash_participant.rb
lib/ruote/part/storage_participant.rb
lib/ruote/part/smtp_participant.rb
lib/ruote/part/null_participant.rb
lib/ruote/part/engine_participant.rb
lib/ruote/part/template.rb
lib/ruote/part/participant_list.rb
lib/ruote/part/no_op_participant.rb
lib/ruote/part/block_participant.rb
lib/ruote/part/local_participant.rb
lib/ruote/subprocess.rb
lib/ruote/parser.rb
lib/ruote/version.rb
lib/ruote/evt/tracker.rb
lib/ruote/util/hashdot.rb
lib/ruote/util/misc.rb
lib/ruote/util/lookup.rb
lib/ruote/util/time.rb
lib/ruote/util/tree.rb
lib/ruote/util/ometa.rb
lib/ruote/util/dollar.rb
lib/ruote/util/look.rb
lib/ruote/util/treechecker.rb
lib/ruote/util/serializer.rb
lib/ruote/context.rb
lib/ruote/log/pretty.rb
lib/ruote/log/wait_logger.rb
lib/ruote/log/test_logger.rb
lib/ruote/log/storage_history.rb
lib/ruote/id/mnemo_wfid_generator.rb
lib/ruote/id/wfid_generator.rb
lib/ruote/worker.rb
lib/ruote/engine/process_error.rb
lib/ruote/engine/process_status.rb
lib/ruote/engine.rb
lib/ruote/workitem.rb
lib/ruote/parser/xml.rb
lib/ruote/parser/ruby_dsl.rb
lib/ruote/tree_dot.rb

Methods

Classes and Modules

Module Ruote::Exp
Module Ruote::HashDot
Module Ruote::LocalParticipant
Module Ruote::Look
Module Ruote::Mem
Module Ruote::PrettyLogging
Module Ruote::ReceiverMixin
Module Ruote::RubyDsl
Module Ruote::StorageBase
Module Ruote::TemplateMixin
Module Ruote::WithH
Module Ruote::WithMeta
Module Ruote::XmlParser
Class Ruote::BlockParticipant
Class Ruote::CompositeStorage
Class Ruote::Context
Class Ruote::DispatchPool
Class Ruote::Engine
Class Ruote::EngineParticipant
Class Ruote::EngineVariables
Class Ruote::ErrorHandler
Class Ruote::ExpressionMap
Class Ruote::FlowDict
Class Ruote::FlowExpressionId
Class Ruote::ForcedError
Class Ruote::FsStorage
Class Ruote::HashParticipant
Class Ruote::HashStorage
Class Ruote::MnemoWfidGenerator
Class Ruote::NoOpParticipant
Class Ruote::NullParticipant
Class Ruote::Parser
Class Ruote::ParticipantEntry
Class Ruote::ParticipantList
Class Ruote::ParticipantRegistrationProxy
Class Ruote::ProcessError
Class Ruote::ProcessStatus
Class Ruote::Receiver
Class Ruote::Serializer
Class Ruote::SmtpParticipant
Class Ruote::StorageHistory
Class Ruote::StorageParticipant
Class Ruote::TestLogger
Class Ruote::Tracker
Class Ruote::TreeChecker
Class Ruote::WaitLogger
Class Ruote::WfidGenerator
Class Ruote::Worker
Class Ruote::Workitem

Constants

VERSION = '2.1.11'
WIN = (RUBY_PLATFORM.match(/mswin|mingw/) != nil)   Will be set to true if the Ruby runtime is on Windows
JAVA = (RUBY_PLATFORM.match(/java/) != nil)   Will be set to true if the Ruby runtime is JRuby

Public Class methods

(simpler than the one from active_support)

Not really a parser, more an AST builder.

  pdef = Ruote.define :name => 'take_out_garbage' do
    sequence do
      take_out_regular_garbage
      take_out_glass
      take_out_paper
    end
  end

  engine.launch(pdef)

Performs ‘dollar substitution’ on a piece of text with as input a flow expression and a workitem (fields and variables).

Deep object duplication

Waiting for a better implementation of it in rufus-scheduler 2.0.4

Returns true if the string seems to correpond to a URI

TODO : wouldn‘t it be better to simply use URI.parse() ?

h = { ‘a’ => { ‘b’ => [ 1, 3, 4 ] } }

p Ruote.lookup(h, ‘a.b.1’) # => 3

This method is used by the ‘subprocess’ expression and by the EngineParticipant.

Tries to return an Integer or a Float from the given input. Returns

Returns a neutralized version of s, suitable as a filename.

Returns a parsable representation of the UTC time now.

like "2009/11/23 11:11:50.947109 UTC"

Prints the current call stack to stdout

Same as Ruote.define()

  pdef = Ruote.process_definition :name => 'take_out_garbage' do
    sequence do
      take_out_regular_garbage
      take_out_paper
    end
  end

  engine.launch(pdef)

Turns a date or a duration to a Time object pointing AT a point in time…

(my prose is weak)

h = { ‘customer’ => { ‘name’ => ‘alpha’ } }

Ruote.set(h, ‘customer.name’, ‘bravo’)

h #=> { ‘customer’ => { ‘name’ => ‘bravo’ } }

A shorter shortcut for

  Ruote::FlowExpressionId.to_storage_id(fei)

Produces the UTC string representation of a Time

like "2009/11/23 11:11:50.947109 UTC"

A shortcut for

  Ruote::FlowExpressionId.to_storage_id(fei)

Similar in purpose to Ruote.define and Ruote.process_definition but instead of returning a [process] definition, returns the tree.

  tree = Ruote.process_definition :name => 'take_out_garbage' do
    sequence do
      take_out_regular_garbage
      take_out_paper
    end
  end

  p tree
    # => [ 'sequence', {}, [ [ 'take_out_regular_garbage', {}, [] ], [ 'take_out_paper', {}, [] ] ] ],

This is useful when modifying a process instance via methods like re_apply :

  engine.re_apply(
    fei,
    :tree => Ruote.to_tree {
      sequence do
        participant 'alfred'
        participant 'bob'
      end
    })
      #
      # cancels the segment of process at fei and replaces it with
      # a simple alfred-bob sequence.

Turns a process definition tree to a graphviz dot representation.

www.graphviz.org

Turning a tree into a numbered string view

  require 'ruote/util/tree'
  require 'ruote/parser/ruby_dsl'

  pdef = Ruote.process_definition :name => 'def0' do
    sequence do
      alpha
      bravo
    end
  end

  p pdef
    # => ["define", {"name"=>"def0"}, [["sequence", {}, [["alpha", {}, []], ["bravo", {}, []]]]]]

  puts Ruote.tree_to_s(pdef)
    # =>
    #    0  define {"name"=>"def0"}
    #      0_0  sequence {}
    #        0_0_0  alpha {}
    #        0_0_1  bravo {}

h = { ‘customer’ => { ‘name’ => ‘alpha’, ‘rank’ => ‘1st’ } } r = Ruote.unset(h, ‘customer.rank’)

h # => { ‘customer’ => { ‘name’ => ‘alpha’ } } r # => ‘1st‘

Protected Class methods

[Validate]