Sha256: 65aac50976c8c77c0bdb99dcca3df138ff225c4a853b73d11e03fd3fe3427b12

Contents?: true

Size: 848 Bytes

Versions: 3

Compression:

Stored size: 848 Bytes

Contents

require_relative "base"

module Suspenders
  class JobsGenerator < Generators::Base
    def add_jobs_gem
      gem "delayed_job_active_record"
      Bundler.with_unbundled_env { run "bundle install" }
    end

    def configure_background_jobs_for_rspec
      generate "delayed_job:active_record"
    end

    def initialize_active_job
      copy_file(
        "active_job.rb",
        "config/initializers/active_job.rb"
      )
    end

    def configure_active_job
      configure_application_file(
        "config.active_job.queue_adapter = :delayed_job"
      )
      configure_environment "test", "config.active_job.queue_adapter = :inline"
    end

    private

    def configure_application_file(config)
      inject_into_file(
        "config/application.rb",
        "\n    #{config}",
        before: "\n  end"
      )
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
suspenders-1.56.1 lib/suspenders/generators/jobs_generator.rb
suspenders-1.55.1 lib/suspenders/generators/jobs_generator.rb
suspenders-1.55.0 lib/suspenders/generators/jobs_generator.rb