Sha256: cb3898ea75e2fc9d155446fef5b8d18fb03e42a722bcb1ec463fe35d9aaf5f00

Contents?: true

Size: 835 Bytes

Versions: 158

Compression:

Stored size: 835 Bytes

Contents

module Actions
  module Middleware

    class BindJobInvocation < ::Dynflow::Middleware

      def delay(*args)
        schedule_options, job_invocation = args
        if !job_invocation.task_id.nil? && job_invocation.task_id != task.id
          job_invocation = job_invocation.deep_clone!
          args = [schedule_options, job_invocation]
        end
        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.where(:external_id => action.execution_plan_id).first!
      end

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

    end

  end
end

Version data entries

158 entries across 158 versions & 1 rubygems

Version Path
foreman_remote_execution-6.1.0 app/lib/actions/middleware/bind_job_invocation.rb
foreman_remote_execution-5.0.4 app/lib/actions/middleware/bind_job_invocation.rb
foreman_remote_execution-5.0.3 app/lib/actions/middleware/bind_job_invocation.rb
foreman_remote_execution-6.0.0 app/lib/actions/middleware/bind_job_invocation.rb
foreman_remote_execution-5.0.2 app/lib/actions/middleware/bind_job_invocation.rb
foreman_remote_execution-5.1.0 app/lib/actions/middleware/bind_job_invocation.rb
foreman_remote_execution-5.0.1 app/lib/actions/middleware/bind_job_invocation.rb
foreman_remote_execution-5.0.0 app/lib/actions/middleware/bind_job_invocation.rb
foreman_remote_execution-4.8.0 app/lib/actions/middleware/bind_job_invocation.rb
foreman_remote_execution-4.5.6 app/lib/actions/middleware/bind_job_invocation.rb
foreman_remote_execution-4.5.5 app/lib/actions/middleware/bind_job_invocation.rb
foreman_remote_execution-4.5.4 app/lib/actions/middleware/bind_job_invocation.rb
foreman_remote_execution-4.7.0 app/lib/actions/middleware/bind_job_invocation.rb
foreman_remote_execution-4.5.3 app/lib/actions/middleware/bind_job_invocation.rb
foreman_remote_execution-4.5.2 app/lib/actions/middleware/bind_job_invocation.rb
foreman_remote_execution-4.5.1 app/lib/actions/middleware/bind_job_invocation.rb
foreman_remote_execution-4.6.0 app/lib/actions/middleware/bind_job_invocation.rb
foreman_remote_execution-4.5.0 app/lib/actions/middleware/bind_job_invocation.rb
foreman_remote_execution-4.4.0 app/lib/actions/middleware/bind_job_invocation.rb
foreman_remote_execution-4.3.1 app/lib/actions/middleware/bind_job_invocation.rb