Class: Wolfe::TimespanFromConfiguration

Inherits:
Object
  • Object
show all
Defined in:
lib/wolfe/timespan_from_configuration.rb

Constant Summary collapse

SUPPORTED_TIME_UNITS =
%w(hours days months years).freeze

Instance Method Summary collapse

Constructor Details

#initialize(config) ⇒ TimespanFromConfiguration

Returns a new instance of TimespanFromConfiguration.

Raises:

  • (ArgumentError)


5
6
7
8
9
10
11
12
13
# File 'lib/wolfe/timespan_from_configuration.rb', line 5

def initialize(config)
  config = split_duration_and_unit(config)

  @duration = Integer(config['duration'])
  @unit = config['unit']
  @unit = (@unit.to_s << 's').to_sym unless @unit.to_s.end_with? 's'

  raise ArgumentError.new("Invalid time unit #{config['unit'].inspect}, expected one of #{SUPPORTED_TIME_UNITS.join(', ')}") unless supported_time_unit?
end

Instance Method Details

#keep_one_backup?Boolean

Returns:

  • (Boolean)


19
20
21
# File 'lib/wolfe/timespan_from_configuration.rb', line 19

def keep_one_backup?
  @duration.to_i != 0
end

#timespanObject



15
16
17
# File 'lib/wolfe/timespan_from_configuration.rb', line 15

def timespan
  @duration.send(@unit)
end