Class: Biz::Calculation::ForDuration

Inherits:
Object
  • Object
show all
Defined in:
lib/biz/calculation/for_duration.rb

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(schedule, scalar) ⇒ ForDuration

Returns a new instance of ForDuration.



86
87
88
89
90
91
# File 'lib/biz/calculation/for_duration.rb', line 86

def initialize(schedule, scalar)
  @schedule = schedule
  @scalar   = Integer(scalar)

  fail ArgumentError, 'negative scalar' if @scalar.negative?
end

Class Method Details

.unitObject



21
22
23
# File 'lib/biz/calculation/for_duration.rb', line 21

def self.unit
  name.split('::').last.downcase.to_sym
end

.unitsObject



11
12
13
# File 'lib/biz/calculation/for_duration.rb', line 11

def self.units
  UNITS
end

.with_unit(schedule, scalar, unit) ⇒ Object



15
16
17
18
19
# File 'lib/biz/calculation/for_duration.rb', line 15

def self.with_unit(schedule, scalar, unit)
  fail ArgumentError, 'unsupported unit' unless UNITS.include?(unit)

  public_send(unit, schedule, scalar)
end