title: Unable to deploy via capistrano using whenever gem
body: <p>I'm trying to deploy a Ruby on Rails application using Capistraino. I have a job that I schedule using Whenever but I keep getting errors when trying to deploy.</p>
  
  <h3>error with config deploy.rb below</h3>
  
  <pre><code>SSHKit::Runner::ExecuteError: Exception while executing as deploy@staging.company.com: bundle exit status: 1
  bundle stdout: Nothing written
  bundle stderr: config/schedule.rb:2:in `block in initialize': uninitialized constant Whenever::JobList::Delayed (NameError)
      from /home/deploy/app/company/shared/bundle/ruby/2.1.0/gems/whenever-0.9.4/lib/whenever/job_list.rb:44:in `every'
      from config/schedule.rb:1:in `initialize'
  </code></pre>
  
  <h3>deploy.rb</h3>
  
  <pre><code># delayed-job
  set :delayed_job_workers, 2
  set :delayed_job_prefix, :drnow
  set :delayed_job_roles, [:app, :background]
  
  # whenever
  set :whenever_identifier, -&gt; { "#{fetch(:application)}_#{fetch(:stage)}" }
  set :whenever_command, 'bundle exec whenever'
  set :whenever_environment, defer { stage }
  </code></pre>
  
  <p>If I change deploy.rb to</p>
  
  <h3>deploy.rb</h3>
  
  <pre><code># whenever
  set :whenever_identifier, -&gt; { "#{fetch(:application)}_#{fetch(:stage)}" }
  set :whenever_command, 'bundle exec whenever'
  set :whenever_environment, -&gt;{ fetch :rails_env, fetch(:stage, "production") }
  </code></pre>
  
  <p>I get this error </p>
  
  <h3>error</h3>
  
  <pre><code>DEBUG [e84fec09] Command: bundle exec whenever
  DEBUG [e84fec09]    Could not locate Gemfile or .bundle/ directory
  (Backtrace restricted to imported tasks)
  cap aborted!
  SSHKit::Runner::ExecuteError: Exception while executing as deploy@company.com: bundle exec whenever exit status: 10
  bundle exec whenever stdout: Could not locate Gemfile or .bundle/ directory
  bundle exec whenever stderr: Nothing written
  
  SSHKit::Command::Failed: bundle exec whenever exit status: 10
  bundle exec whenever stdout: Could not locate Gemfile or .bundle/ directory
  bundle exec whenever stderr: Nothing written
  
  Tasks: TOP =&gt; whenever:update_crontab
  (See full trace by running task with --trace)
  The deploy has failed with an error: Exception while executing as deploy@company.com: bundle exec whenever exit status: 10
  bundle exec whenever stdout: Could not locate Gemfile or .bundle/ directory
  bundle exec whenever stderr: Nothing written
  </code></pre>
  
  <h3>Capfile</h3>
  
  <pre><code># Load DSL and set up stages
  require 'capistrano/setup'
  
  # Include default deployment tasks
  require 'capistrano/deploy'
  require 'capistrano/rails'
  require 'capistrano/rvm'
  require 'capistrano/faster_assets'
  require 'capistrano/delayed-job'
  require 'whenever/capistrano'
  # Load custom tasks from `lib/capistrano/tasks' if you have any defined
  Dir.glob('lib/capistrano/tasks/*.rake').each { |r| import r }
  </code></pre>
  
  <h3>schedule.rb</h3>
  
  <pre><code>unless ENV['RAILS_ENV'] == 'test'
    every 30.minutes do
      Delayed::Job.enqueue(UpdateScoresJob.new(Article.published.all.pluck(:id)), priority: 1, run_at: 1.minute.from_now)
    end
  end
  </code></pre>