class Recipes::Schedule

Public Instance Methods

ask() click to toggle source
# File lib/potassium/recipes/schedule.rb, line 2
def ask
  if selected?(:background_processor)
    response = answer(:schedule) { Ask.confirm("Do you need to schedule jobs?") }
  end
  set(:schedule, response)
end
create() click to toggle source
# File lib/potassium/recipes/schedule.rb, line 9
def create
  if selected?(:schedule)
    gather_gem 'sidekiq-scheduler', '>= 3.0.1'
    add_readme_section :internal_dependencies, :sidekiq_scheduler
    append_schedule_section_to_yml
  end
end
install() click to toggle source
# File lib/potassium/recipes/schedule.rb, line 17
def install
  set(:schedule, true)
  create
end
installed?() click to toggle source
# File lib/potassium/recipes/schedule.rb, line 22
def installed?
  gem_exists?(/sidekiq-scheduler/) && file_exist?('config/sidekiq.yml')
end

Private Instance Methods

append_schedule_section_to_yml() click to toggle source
# File lib/potassium/recipes/schedule.rb, line 28
  def append_schedule_section_to_yml
    append_to_file(
      'config/sidekiq.yml',
      <<-HERE.gsub(/^ {8}/, '')
        # :schedule:
          #  an_scheduled_task:
          #    cron: '0 * * * * *'  # Runs once per minute
          #    class: ExampleJob
          #    args: ['a', 'b']
      HERE
    )
  end