Sha256: e48344b8f2a10463c451a5c3a580d49588d24cceff2e086bcb24f03e09d1289c

Contents?: true

Size: 831 Bytes

Versions: 10

Compression:

Stored size: 831 Bytes

Contents

module Startback
  module Jobs
    class CreateJob < Operation

      def initialize(input)
        super(System['Job.CreationRequest'].dress(input))
      end

      def call
        @job = Model::Job.full({
          id: SecureRandom.urlsafe_base64(16),
          opInput: {},
          opContext: {},
          opResult: nil,
          strategy: 'NotReady',
          strategyOptions: {},
          expiresAt: nil,
          refreshFreq: nil,
          refreshedAt: nil,
          consumeMax: nil,
          consumeCount: 0,
          createdAt: Time.now,
          createdBy: nil,
        }.merge(input))

        context.world.startback_jobs.insert(@job.to_data)

        @job
      end

      emits(Event::JobCreated) do
        { id: @job.id }
      end

    end # class CreateJob
  end # module Jobs
end # module Startback

Version data entries

10 entries across 10 versions & 1 rubygems

Version Path
startback-jobs-0.15.4 lib/startback/jobs/operation/create_job.rb
startback-jobs-0.15.3 lib/startback/jobs/operation/create_job.rb
startback-jobs-0.15.2 lib/startback/jobs/operation/create_job.rb
startback-jobs-0.15.1 lib/startback/jobs/operation/create_job.rb
startback-jobs-0.15.0 lib/startback/jobs/operation/create_job.rb
startback-jobs-0.14.4 lib/startback/jobs/operation/create_job.rb
startback-jobs-0.14.3 lib/startback/jobs/operation/create_job.rb
startback-jobs-0.14.2 lib/startback/jobs/operation/create_job.rb
startback-jobs-0.14.1 lib/startback/jobs/operation/create_job.rb
startback-jobs-0.13.0 lib/startback/jobs/operation/create_job.rb