Class: Berta::ExpirationManager
- Inherits:
-
Object
- Object
- Berta::ExpirationManager
- Defined in:
- lib/berta/expiration_manager.rb
Overview
Class for managing expiration dates on vms
Instance Method Summary collapse
-
#add_default_expiration(vm) ⇒ Object
Adds default expiration if no valid expiration with right expiration action is set.
-
#remove_invalid_expirations(vm) ⇒ Object
Removes invalid expirations on vm.
-
#update_expirations(vms) ⇒ Object
Update all expirations on vm, removes invalid expirations and if needed will set default expiration date.
Instance Method Details
#add_default_expiration(vm) ⇒ Object
Adds default expiration if no valid expiration with right expiration action is set.
34 35 36 37 38 39 40 |
# File 'lib/berta/expiration_manager.rb', line 34 def add_default_expiration(vm) return if vm.default_expiration vm.add_expiration(Time.now.to_i + Berta::Settings.expiration_offset, Berta::Settings.expiration.action) rescue Berta::Errors::BackendError => e logger.error "#{e.message}\n\tOn vm with id #{vm.handle['ID']}" end |
#remove_invalid_expirations(vm) ⇒ Object
Removes invalid expirations on vm. That are schelude actions with expiration time later than expiration offset.
21 22 23 24 25 26 27 |
# File 'lib/berta/expiration_manager.rb', line 21 def remove_invalid_expirations(vm) exps = vm.expirations exps.keep_if(&:in_expiration_interval?) vm.update_expirations(exps) if exps.length != vm.expirations.length rescue Berta::Errors::BackendError => e logger.error "#{e.message}\n\tOn vm with id #{vm.handle['ID']}" end |
#update_expirations(vms) ⇒ Object
Update all expirations on vm, removes invalid expirations and if needed will set default expiration date.
9 10 11 12 13 14 |
# File 'lib/berta/expiration_manager.rb', line 9 def update_expirations(vms) vms.each do |vm| remove_invalid_expirations(vm) add_default_expiration(vm) end end |