Class: MeasureScaler::Measure
- Inherits:
-
Object
- Object
- MeasureScaler::Measure
- Defined in:
- lib/measure_scaler/measure.rb
Instance Attribute Summary collapse
-
#precision ⇒ Object
readonly
Returns the value of attribute precision.
-
#qty ⇒ Object
readonly
Returns the value of attribute qty.
-
#unit ⇒ Object
readonly
Returns the value of attribute unit.
Instance Method Summary collapse
-
#initialize(qty, unit, precision = nil) ⇒ Measure
constructor
Measure.new(12500.34, “MWh”).
- #scale ⇒ Object
- #to_s ⇒ Object
Constructor Details
Instance Attribute Details
#precision ⇒ Object (readonly)
Returns the value of attribute precision.
3 4 5 |
# File 'lib/measure_scaler/measure.rb', line 3 def precision @precision end |
#qty ⇒ Object (readonly)
Returns the value of attribute qty.
3 4 5 |
# File 'lib/measure_scaler/measure.rb', line 3 def qty @qty end |
#unit ⇒ Object (readonly)
Returns the value of attribute unit.
3 4 5 |
# File 'lib/measure_scaler/measure.rb', line 3 def unit @unit end |
Instance Method Details
#scale ⇒ Object
11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 |
# File 'lib/measure_scaler/measure.rb', line 11 def scale # TODO: gestisci unità non riconosciute (non valide) if @unit.pattern_found? ord = @qty.scaling_proposal # multipli di 3 ord, new_unit = @unit.scale(ord) qty = @qty.scale(ord) qty = precisize(qty) if @precision Measure.new(qty, new_unit, @precision) else @qty = precisize(@qty) if @precision self end end |
#to_s ⇒ Object
27 28 29 |
# File 'lib/measure_scaler/measure.rb', line 27 def to_s "#{@qty} #{@unit}" end |