Undefined Guide Rail Method

I use gem whenever and I cannot get my runner team to work.

I get this error:

/Users/bl0b/.rvm/gems/ruby-1.9.3-p125/gems/railties-3.2.11/lib/rails/commands/runner.rb:53:in `eval': undefined method `run' for #<Class:0x007f97d88744a8> (NoMethodError) from (eval):1:in `<top (required)>' from /Users/bl0b/.rvm/gems/ruby-1.9.3-p125/gems/railties-3.2.11/lib/rails/commands/runner.rb:53:in `eval' from /Users/bl0b/.rvm/gems/ruby-1.9.3-p125/gems/railties-3.2.11/lib/rails/commands/runner.rb:53:in `<top (required)>' from /Users/bl0b/.rvm/gems/ruby-1.9.3-p125/gems/railties-3.2.11/lib/rails/commands.rb:64:in `require' from /Users/bl0b/.rvm/gems/ruby-1.9.3-p125/gems/railties-3.2.11/lib/rails/commands.rb:64:in `<top (required)>' from script/rails:6:in `require' from script/rails:6:in `<main>' 

I have the following code in my shedule.rb :

 set :environment, 'development' every 1.minutes do runner "Crawler.run", :output => '/Users/bl0b/Projects/crawler/cron.log' end 

and in my app/models/crawler.rb I have the following code:

 class Crawler < ActiveRecord::Base def run puts "toto" end end 
+4
source share
2 answers

You are trying to call a class method in Crawler , but the method is defined as an instance method. To make a method a class method, you can define it like this:

 def self.run puts "toto" end 
+8
source

You can do this: If you do not need to make a method as a method of a self class.

  every 1.minutes do runner "Crawler.new.run", :output => '/Users/bl0b/Projects/crawler/cron.log' end 
+1
source

All Articles