Sha256: 9e5346dcce5974bf110232b7cad06a13d5f9ca4a0566ac8be9ff9c8004a9dac5

Contents?: true

Size: 1.26 KB

Versions: 1

Compression:

Stored size: 1.26 KB

Contents

# frozen_string_literals: true

# This effectively hides `rake jobshop:install:migrations` from `$ rake -T`.
Rake::Task["jobshop:install:migrations"].instance_variable_set(:@comments, [])

namespace :jobshop do
  task :disable_autoload do
    ActiveSupport::Dependencies.class_eval do
      extend Module.new {
        def load_file(path, const_paths = loadable_constants_for_path(path))
          jobshop_models_path = File.join(Jobshop::Engine.root, "app", "models")
          return if path.starts_with?(jobshop_models_path)
          super
        end
      }
    end
  end

  desc "Outputs all organization_ids"
  task organizations: :environment do
    Jobshop::Organization.all.each do |organization|
      puts organization.organization_id
    end
  end

  desc "Start Incoming Email Worker"
  task postmaster: :environment do
    queue_name = Jobshop.configuration.aws.incoming_email_queue
    postmaster_path = File.join(Jobshop::Engine.root, "lib", "jobshop",
                                "mailroom", "postmaster.rb")

    exec <<~SHELL
      bundle exec \
        shoryuken -R -q #{queue_name} -r #{postmaster_path}
    SHELL
  end
end

%w( db:migrate db:rollback db:migrate:up db:migrate:down ).each do |t|
  Rake::Task[t].prerequisites << "jobshop:disable_autoload"
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
jobshop-0.0.167 lib/tasks/jobshop_tasks.rake