Sha256: 3e541b36fb30fb6e97f1b5f8fedae021b39886aa0edfe68228ac678bfd629480

Contents?: true

Size: 865 Bytes

Versions: 1

Compression:

Stored size: 865 Bytes

Contents

module Rasti
  class App
    class AsynchronicInteraction < Interaction

      def self.asynchronic?
        true
      end      

      private

      def job
        @job ||= Asynchronic[context.fetch(:job_id)].job
      end

      def enqueue(interaction, form)
        job.send :async, Job, queue:        params.delete(:queue) || Asynchronic.default_queue,
                              alias:        params.delete(:alias) || interaction,
                              dependency:   params.delete(:dependency),
                              dependencies: params.delete(:dependencies),
                              interaction:  interaction,
                              context:      context,
                              params:       form.attributes
      end

      def result_of(reference)
        job.send :result, reference
      end

    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
rasti-app-0.0.8 lib/rasti/app/asynchronic_interaction.rb