module Schedulero::Utils

Public Instance Methods

humanize_seconds(secs) click to toggle source
# File lib/utils.rb, line 3
def humanize_seconds secs
  return '-' unless secs

  secs = secs.to_i

  [[60, :sec], [60, :min], [24, :h], [356, :days], [1000, :years]].map{ |count, name|
    if secs > 0
      secs, n = secs.divmod(count)
      "#{n.to_i} #{name}"
    end
  }.compact.reverse.slice(0,2).join(' ')
end
quick_overview(lines: 100) click to toggle source
# File lib/utils.rb, line 16
def quick_overview lines: 100
  data = ['Tasks:']

  for name, task in tasks
    at = task[:at] ? "at #{task[:at]}" : "every #{humanize_seconds(task[:interval])}"

    data.push '- %s, %s' % [name, at]
  end

  data.push ['','###', '']

  data.push `tail -#{lines} #{@log_file}`.split($/).reverse if @log_file

  data.join($/)
end