Class: Data::Units
- Inherits:
-
Object
- Object
- Data::Units
- Includes:
- Comparable
- Defined in:
- lib/barometer/data/units.rb
Direct Known Subclasses
Instance Attribute Summary collapse
-
#metric ⇒ Object
Returns the value of attribute metric.
Instance Method Summary collapse
-
#<<(value) ⇒ Object
assigns a value to the right attribute based on metric setting.
- #imperial! ⇒ Object
- #imperial_default=(value) ⇒ Object
-
#initialize(metric = true) ⇒ Units
constructor
A new instance of Units.
- #metric! ⇒ Object
-
#metric? ⇒ Boolean
HELPERS.
-
#metric_default=(value) ⇒ Object
stubs.
Constructor Details
#initialize(metric = true) ⇒ Units
Returns a new instance of Units.
7 |
# File 'lib/barometer/data/units.rb', line 7 def initialize(metric=true); @metric = metric; end |
Instance Attribute Details
#metric ⇒ Object
Returns the value of attribute metric.
5 6 7 |
# File 'lib/barometer/data/units.rb', line 5 def metric @metric end |
Instance Method Details
#<<(value) ⇒ Object
assigns a value to the right attribute based on metric setting
19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 |
# File 'lib/barometer/data/units.rb', line 19 def <<(value) return unless value # these values can be treated like 'nil' nil_values = ["NA", "N/A", ""] begin if value.is_a?(Array) value_m = value[0].to_f if (value[0] && !nil_values.include?(value[0])) value_i = value[1].to_f if (value[1] && !nil_values.include?(value[1])) value_b = nil else value_m = nil value_i = nil value_b = value.to_f if (value && !nil_values.include?(value)) end rescue # do nothing end self.metric? ? self.metric_default = value_m || value_b : self.imperial_default = value_i || value_b end |
#imperial! ⇒ Object
15 |
# File 'lib/barometer/data/units.rb', line 15 def imperial!; @metric=false; end |
#imperial_default=(value) ⇒ Object
46 |
# File 'lib/barometer/data/units.rb', line 46 def imperial_default=(value); raise NotImplementedError; end |
#metric! ⇒ Object
14 |
# File 'lib/barometer/data/units.rb', line 14 def metric!; @metric=true; end |
#metric? ⇒ Boolean
HELPERS
13 |
# File 'lib/barometer/data/units.rb', line 13 def metric?; @metric; end |
#metric_default=(value) ⇒ Object
stubs
45 |
# File 'lib/barometer/data/units.rb', line 45 def metric_default=(value); raise NotImplementedError; end |