Class: Aebus::Config::BackupSchedule
- Inherits:
-
Object
- Object
- Aebus::Config::BackupSchedule
- Defined in:
- lib/config/volume.rb
Instance Attribute Summary collapse
-
#keep ⇒ Object
readonly
Returns the value of attribute keep.
-
#label ⇒ Object
readonly
Returns the value of attribute label.
-
#last_deadline ⇒ Object
readonly
Returns the value of attribute last_deadline.
-
#next_deadline ⇒ Object
readonly
Returns the value of attribute next_deadline.
Class Method Summary collapse
Instance Method Summary collapse
- #calculate_deadlines(current_time_utc, when_string) ⇒ Object
-
#initialize(current_time_utc, label, backup_config) ⇒ BackupSchedule
constructor
A new instance of BackupSchedule.
- #to_s ⇒ Object
Constructor Details
#initialize(current_time_utc, label, backup_config) ⇒ BackupSchedule
Returns a new instance of BackupSchedule.
13 14 15 16 17 18 19 20 21 22 |
# File 'lib/config/volume.rb', line 13 def initialize (current_time_utc, label, backup_config) @label = label if (backup_config["enabled"]) then calculate_deadlines(current_time_utc, backup_config["when"]) end @keep = backup_config["keep"] # we use Infinity to model the keep all @keep = 1.0 / 0 if (@keep.nil? || @keep.eql?(KEEP_ALL)) end |
Instance Attribute Details
#keep ⇒ Object (readonly)
Returns the value of attribute keep.
11 12 13 |
# File 'lib/config/volume.rb', line 11 def keep @keep end |
#label ⇒ Object (readonly)
Returns the value of attribute label.
11 12 13 |
# File 'lib/config/volume.rb', line 11 def label @label end |
#last_deadline ⇒ Object (readonly)
Returns the value of attribute last_deadline.
11 12 13 |
# File 'lib/config/volume.rb', line 11 def last_deadline @last_deadline end |
#next_deadline ⇒ Object (readonly)
Returns the value of attribute next_deadline.
11 12 13 |
# File 'lib/config/volume.rb', line 11 def next_deadline @next_deadline end |
Class Method Details
.parse_backups_config(current_time_utc, backups_config) ⇒ Object
37 38 39 40 41 42 43 44 45 46 47 48 49 |
# File 'lib/config/volume.rb', line 37 def self.parse_backups_config(current_time_utc, backups_config) return nil unless backups_config result = Hash.new backups_config.each_pair do |key,value| result.store(key, BackupSchedule.new(current_time_utc, key, value)) end result end |
Instance Method Details
#calculate_deadlines(current_time_utc, when_string) ⇒ Object
24 25 26 27 28 29 30 31 |
# File 'lib/config/volume.rb', line 24 def calculate_deadlines(current_time_utc, when_string) raise(ArgumentError, "when field cannot be empty if the backup is enabled") unless when_string parser = CronParser.new (when_string) @last_deadline = parser.last(current_time_utc) @next_deadline = parser.next(current_time_utc) end |
#to_s ⇒ Object
33 34 35 |
# File 'lib/config/volume.rb', line 33 def to_s "Backup Schedule: label => #{@label} last_deadline => #{@last_deadline} next_deadline => #{@next_deadline} keep => #{@keep}" end |