Forum: Ruby on Rails /lib daemon folder: how do i add a module into the daemon?

Announcement (2017-05-07): www.ruby-forum.com is now read-only since I unfortunately do not have the time to support and maintain the forum any more. Please see rubyonrails.org/community and ruby-lang.org/en/community for other Rails- und Ruby-related community platforms.
0bdaf2a5cf0a401d2ee4377b9ce47581?d=identicon&s=25 Tyl Tan (tyanlion)
on 2009-04-07 08:53
(Received via mailing list)
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
81b61875e41eaa58887543635d556fca?d=identicon&s=25 Frederick Cheung (Guest)
on 2009-04-07 09:47
(Received via mailing list)
On Apr 7, 7:52 am, tyliong <tyli...@gmail.com> wrote:
>
> #!/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)
>

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
0bdaf2a5cf0a401d2ee4377b9ce47581?d=identicon&s=25 Tyl Tan (tyanlion)
on 2009-04-07 09:52
(Received via mailing list)
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
81b61875e41eaa58887543635d556fca?d=identicon&s=25 Frederick Cheung (Guest)
on 2009-04-07 09:58
(Received via mailing list)
On Apr 7, 9:03 am, "Tan YL" <tyli...@gmail.com> wrote:
> 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
0bdaf2a5cf0a401d2ee4377b9ce47581?d=identicon&s=25 Tyl Tan (tyanlion)
on 2009-04-07 10:03
(Received via mailing list)
Thank you fred very very much.
This topic is locked and can not be replied to.