class Lupe
Constants
- DEFAULT_CONFIGURATION
Public Class Methods
new(configuration)
click to toggle source
# File lib/lupe.rb, line 16 def initialize(configuration) @configuration = DEFAULT_CONFIGURATION @configuration.merge!(configuration) at_exit do logger.info 'Service is going down.' logger.info('Running teardown..') tear_down end shutdown = proc do puts 'bye.' @configuration[:running] = false end trap('QUIT', &shutdown) trap('TERM', &shutdown) trap('INT', &shutdown) end
Public Instance Methods
_configuration()
click to toggle source
# File lib/lupe.rb, line 52 def _configuration template = "%s : %s" bindings = [] bindings.push("Start with configuration") bindings.push(@configuration.to_json) (template % bindings) end
_reset_log()
click to toggle source
# File lib/lupe.rb, line 59 def _reset_log logger.info 'running on monitor mode' File.open(log_path, 'w+') {} end
environment()
click to toggle source
# File lib/lupe.rb, line 32 def environment @configuration[:environment] end
log_path()
click to toggle source
# File lib/lupe.rb, line 35 def log_path template = @configuration[:log_to] bindings = [] @configuration[:log_to].scan('%s').each do |interpolation| bindings.push(@configuration[:name]) end (template % bindings) end
logger()
click to toggle source
# File lib/lupe.rb, line 43 def logger @logger ||= Logger.new(log_path) end
program_name()
click to toggle source
# File lib/lupe.rb, line 46 def program_name template = @configuration[:description] bindings = [] bindings.push(@configuration[:name]) (template % bindings) end
run(&operation)
click to toggle source
# File lib/lupe.rb, line 67 def run(&operation) logger.info(program_name) logger.info(_configuration) logger.info('Running setup..') setup loop do break unless @configuration[:running] sleep 1 _reset_log if @configuration[:monitor] @configuration[:counter] += 1 if @configuration[:counter] > @configuration[:interval] @configuration[:counter] = 0 operation.call(logger) next end if @configuration[:print_ticks] logger.debug "tick: #{@configuration[:counter]}" end end end
setup()
click to toggle source
# File lib/lupe.rb, line 63 def setup end
tear_down()
click to toggle source
# File lib/lupe.rb, line 65 def tear_down end