Sha256: d091a630a443b041a4d455741694ad5a1b297ea5770d2ea0abfd3332f3932b07

Contents?: true

Size: 960 Bytes

Versions: 19

Compression:

Stored size: 960 Bytes

Contents

module Dynflow
  module ExecutionPlan::Steps
    class AbstractFlowStep < Abstract

      # Method called when initializing the step to customize the behavior based on the
      # action definition during the planning phase
      def update_from_action(action)
        @queue = action.queue
        @queue ||= action.triggering_action.queue if action.triggering_action
        @queue ||= :default
      end

      def execute(*args)
        return self if [:skipped, :success].include? self.state
        open_action do |action|
          with_meta_calculation(action) do
            action.execute(*args)
          end
        end
      end

      def clone
        self.class.from_hash(to_hash, execution_plan_id, world)
      end

      private

      def open_action
        action = persistence.load_action(self)
        yield action
        persistence.save_action(execution_plan_id, action)
        save

        return self
      end
    end
  end
end

Version data entries

19 entries across 19 versions & 1 rubygems

Version Path
dynflow-1.3.0 lib/dynflow/execution_plan/steps/abstract_flow_step.rb
dynflow-1.2.3 lib/dynflow/execution_plan/steps/abstract_flow_step.rb
dynflow-1.2.2 lib/dynflow/execution_plan/steps/abstract_flow_step.rb
dynflow-1.2.1 lib/dynflow/execution_plan/steps/abstract_flow_step.rb
dynflow-1.2.0 lib/dynflow/execution_plan/steps/abstract_flow_step.rb
dynflow-1.2.0.pre1 lib/dynflow/execution_plan/steps/abstract_flow_step.rb
dynflow-1.1.6 lib/dynflow/execution_plan/steps/abstract_flow_step.rb
dynflow-1.1.5 lib/dynflow/execution_plan/steps/abstract_flow_step.rb
dynflow-1.1.4 lib/dynflow/execution_plan/steps/abstract_flow_step.rb
dynflow-1.1.3 lib/dynflow/execution_plan/steps/abstract_flow_step.rb
dynflow-1.1.2 lib/dynflow/execution_plan/steps/abstract_flow_step.rb
dynflow-1.1.1 lib/dynflow/execution_plan/steps/abstract_flow_step.rb
dynflow-1.1.0 lib/dynflow/execution_plan/steps/abstract_flow_step.rb
dynflow-1.0.5 lib/dynflow/execution_plan/steps/abstract_flow_step.rb
dynflow-1.0.4 lib/dynflow/execution_plan/steps/abstract_flow_step.rb
dynflow-1.0.3 lib/dynflow/execution_plan/steps/abstract_flow_step.rb
dynflow-1.0.2 lib/dynflow/execution_plan/steps/abstract_flow_step.rb
dynflow-1.0.1 lib/dynflow/execution_plan/steps/abstract_flow_step.rb
dynflow-1.0.0 lib/dynflow/execution_plan/steps/abstract_flow_step.rb