class MeterCat::Divide
Constants
- FORMAT_PERCENTAGE
- FORMAT_RATIO
Attributes
denominator[RW]
format[RW]
numerator[RW]
Public Class Methods
new(numerator, denominator, format)
click to toggle source
# File lib/meter_cat/calculator.rb, line 52 def initialize(numerator, denominator, format) @numerator = numerator @denominator = denominator @format = format end
Public Instance Methods
calculate(meters, date)
click to toggle source
TODO: Rename format attr rubocop:disable Style/FormatString
# File lib/meter_cat/calculator.rb, line 60 def calculate(meters, date) numerator = meters[@numerator] ? (meters[@numerator][date] || 0) : 0 denominator = meters[@denominator] ? (meters[@denominator][date] || 0) : 0 value = denominator.zero? ? 0.0 : (numerator.to_f / denominator.to_f) value *= 100 if @format == FORMAT_PERCENTAGE return sprintf(@format, value) end
dependencies()
click to toggle source
# File lib/meter_cat/calculator.rb, line 70 def dependencies [@numerator, @denominator] end