Sha256: 751960e3f72e18312c934f2f2b89ef54deb50bc6f27fdb783cf0c3c245f52da7

Contents?: true

Size: 643 Bytes

Versions: 5

Compression:

Stored size: 643 Bytes

Contents

module Actions
  module Middleware

    class BindJobInvocation < ::Dynflow::Middleware

      def delay(*args)
        _schedule_options, job_invocation = args
        pass(*args).tap { bind(job_invocation) }
      end

      def plan(*args)
        job_invocation = args.first
        pass(*args).tap { bind(job_invocation) }
      end

      private

      def task
        @task ||= ForemanTasks::Task::DynflowTask.find_by_external_id!(action.execution_plan_id)
      end

      def bind(job_invocation)
        job_invocation.update_attribute :last_task_id, task.id if job_invocation.last_task_id != task.id
      end

    end

  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
foreman_remote_execution-0.1.1 app/lib/actions/middleware/bind_job_invocation.rb
foreman_remote_execution-0.1.0 app/lib/actions/middleware/bind_job_invocation.rb
foreman_remote_execution-0.0.10 app/lib/actions/middleware/bind_job_invocation.rb
foreman_remote_execution-0.0.8 app/lib/actions/middleware/bind_job_invocation.rb
foreman_remote_execution-0.0.7 app/lib/actions/middleware/bind_job_invocation.rb