class Mmailer::ServerHelper
Attributes
machine[RW]
stream[RW]
worker[RW]
Public Class Methods
new()
click to toggle source
# File lib/mmailer/server_helper.rb, line 5 def initialize @stream = $stdout self.machine = MicroMachine.new(:stopped) machine.when(:start, :stopped => :started) machine.when(:resume, :paused => :started) machine.when(:stop, :started => :stopped, :paused => :stopped) machine.when(:pause, :started => :paused) end
Public Instance Methods
config(options)
click to toggle source
# File lib/mmailer/server_helper.rb, line 61 def config(options) if options.empty? puts "I will send emails every #{Mmailer.configuration.time_interval} seconds. After #{Mmailer.configuration.mail_interval} emails, I will sleep for #{Mmailer.configuration.sleep_time} seconds." else Mmailer.configuration.sleep_time = options.fetch("sleep_time", Mmailer.configuration.sleep_time) Mmailer.configuration.mail_interval = options.fetch("mail_interval", Mmailer.configuration.mail_interval) Mmailer.configuration.time_interval = options.fetch("time_interval", Mmailer.configuration.time_interval) puts "#{options}. OK." end end
display_state()
click to toggle source
# File lib/mmailer/server_helper.rb, line 14 def display_state stream.puts state end
pause()
click to toggle source
# File lib/mmailer/server_helper.rb, line 44 def pause if machine.trigger(:pause) display_state machine.state end end
puts(str)
click to toggle source
# File lib/mmailer/server_helper.rb, line 22 def puts(str) stream.puts(str) end
resume()
click to toggle source
# File lib/mmailer/server_helper.rb, line 30 def resume if machine.trigger(:resume) display_state machine.state end end
start(from=0)
click to toggle source
# File lib/mmailer/server_helper.rb, line 51 def start(from=0) if machine.trigger(:start) puts "starting from #{from}" Thread.abort_on_exception = true @worker = Thread.new(from) do |from| Worker.new(from) end end end
state()
click to toggle source
# File lib/mmailer/server_helper.rb, line 18 def state machine.state end
stop()
click to toggle source
# File lib/mmailer/server_helper.rb, line 37 def stop if machine.trigger(:stop) display_state machine.state end end
up?()
click to toggle source
# File lib/mmailer/server_helper.rb, line 26 def up? true end