class DailyWeeklyMonthly::Runner
Constants
- DEFAULTS
Public Class Methods
new(backup_command, options = {})
click to toggle source
# File lib/daily_weekly_monthly/runner.rb, line 20 def initialize backup_command, options = {} @backup_command = backup_command @options = DEFAULTS.merge(options) end
Public Instance Methods
call()
click to toggle source
# File lib/daily_weekly_monthly/runner.rb, line 25 def call processor = Processor.new(backup, @options[:backups_dir], @options[:output_extension]) processor.call("daily", keep: @options[:days_to_keep]) processor.call("weekly", keep: @options[:weeks_to_keep]) if weekly_backup? processor.call("monthly", keep: @options[:months_to_keep]) if monthly_backup? end
Private Instance Methods
backup()
click to toggle source
# File lib/daily_weekly_monthly/runner.rb, line 42 def backup Downloader.new(@backup_command).call rescue StandardError => e Notifier.new(@options[:smtp_server], @options[:smtp_port]).call(e, @options[:notify]) if @options[:notify] raise e end
monthly_backup?()
click to toggle source
# File lib/daily_weekly_monthly/runner.rb, line 38 def monthly_backup? Date.today.day == @options[:day_of_month] end
weekly_backup?()
click to toggle source
# File lib/daily_weekly_monthly/runner.rb, line 34 def weekly_backup? Date.today.wday == @options[:day_of_week] end