/lib daemon folder: how do i add a module into the daemon?

I am using the daemons plugin.

I have just one problem how do i add modules from the /lib folder to the /lib/daemons/daemon.rb file

eg. /lib/basic_functions.rb

this is the file i want to load in daemon.rb

contents daemon.rb:

#!/usr/bin/env ruby

# You might want to change this ENV["RAILS_ENV"] ||= "production"

require File.dirname(__FILE__) + "/../../config/environment" #require File.dirname(__FILE__) + "/../../lib/basic_functions.rb"(this didn't work) #require '../basic_functions.rb' (this didn't work)

$running = true Signal.trap("TERM") do   $running = false end

while($running) do   # Replace this with your code   get_current_time   ActiveRecord::Base.logger.info "This daemons is still running at # {@current_time}.\n"   sleep 5

end

contents of basic_functions

module BasicFunctions

  def get_current_time     #@current_time = Time.now.beginning_of_month + 27.days     #@current_time = Time.now.beginning_of_month + 13.days     @current_time = Time.now   end

  def get_time_period     get_current_time     @absmid = @current_time.beginning_of_month + 14.days     @midperiod = @absmid - 2.days       if @current_time >= @absmid         @begin_bid_time = @absmid         @end_bid_time = @current_time.next_month.beginning_of_month - 2.days         @ad_window_begin = @current_time.next_month.beginning_of_month         @ad_window_end = @current_time.next_month.beginning_of_month + 15.days       else         @begin_bid_time = @current_time.beginning_of_month         @end_bid_time = @midperiod         @ad_window_begin = @absmid         @ad_window_end = @current_time.next_month.beginning_of_month       end   end

end

requiring that file just means that the module BasicFunctions is now loaded. you haven't done anything with it yet (include BasicFunctions somewhere might be a good starting point)

Fred

Thanks Fred.

I tried what u said but I wasn't able to get it going. This time I didn't require the file I dumped the module inside the daemons.rb file but I just couldn't get it to work. I know it must be something to do with the syntax I used.

#!/usr/bin/env ruby

# You might want to change this ENV["RAILS_ENV"] ||= "development" #require 'basic_functions.rb'

require File.dirname(__FILE__) + "/../../config/environment" module BasicFunctions      def get_current_time     #@current_time = Time.now.beginning_of_month + 27.days     #@current_time = Time.now.beginning_of_month + 13.days     @current_time = Time.now   end      def get_time_period     get_current_time     @absmid = @current_time.beginning_of_month + 14.days     @midperiod = @absmid - 2.days       if @current_time >= @absmid         @begin_bid_time = @absmid         @end_bid_time = @current_time.next_month.beginning_of_month - 2.days         @ad_window_begin = @current_time.next_month.beginning_of_month         @ad_window_end = @current_time.next_month.beginning_of_month + 15.days       else         @begin_bid_time = @current_time.beginning_of_month         @end_bid_time = @midperiod         @ad_window_begin = @absmid         @ad_window_end = @current_time.next_month.beginning_of_month       end   end    end

include Basic_functions $running = true Signal.trap("TERM") do   $running = false end

while($running) do   # Replace this with your code      get_current_time   ActiveRecord::Base.logger.info "This daemons is still running at #{@current_time}.\n"   sleep 5    end

[mailto:rubyonrails-talk@googlegroups.com] On Behalf Of Frederick Cheung

Thanks Fred.

I tried what u said but I wasn't able to get it going. This time I didn't require the file I dumped the module inside the daemons.rb file but I just couldn't get it to work. I know it must be something to do with the syntax I used.

where the module is on disk is somewhat irrelevant.

include Basic_functions

That must match the name of the module

Fred

Thank you fred very very much.

[mailto:rubyonrails-talk@googlegroups.com] On Behalf Of Frederick Cheung