Class: Zsnap::PreservationRule

Inherits:
Rule
  • Object
show all
Defined in:
lib/zsnap.rb

Instance Method Summary collapse

Methods inherited from Rule

#condition_met?

Constructor Details

#initialize(args = {}) ⇒ PreservationRule

Returns a new instance of PreservationRule.



46
47
48
49
50
# File 'lib/zsnap.rb', line 46

def initialize(args = {})
  super(args)
  args = { 'for_minutes' => 240 }.merge(args)
  @for_minutes = args['for_minutes'].to_i
end

Instance Method Details

#applies?(now_minutes, creation_time_minutes) ⇒ Boolean

Returns:

  • (Boolean)


52
53
54
# File 'lib/zsnap.rb', line 52

def applies?(now_minutes, creation_time_minutes)
  (now_minutes - creation_time_minutes) < @for_minutes
end

#condition_met_for_snapshot?(now_minutes, snapshot) ⇒ Boolean

Returns:

  • (Boolean)


56
57
58
59
60
# File 'lib/zsnap.rb', line 56

def condition_met_for_snapshot?(now_minutes, snapshot)
  creation_time_minutes = snapshot.creation_time_minutes
  applies?(now_minutes, creation_time_minutes) and
    condition_met?(creation_time_minutes)
end