Sha256: ab2336e0f7ce0b808b8673ed64e8d956d9241102a295db4c3579a1c7fdf8419f
Contents?: true
Size: 804 Bytes
Versions: 8
Compression:
Stored size: 804 Bytes
Contents
module Barometer module Data class Vector < ConvertableUnits attr_reader :bearing def kph; metric; end def mph; imperial; end def units metric? ? 'kph' : 'mph' end def to_s [super, bearing_to_s].compact.join(' @ ') end def nil? super && bearing.nil? end private def convert_imperial_to_metric(imperial_value) imperial_value.to_f * 1.609 end def convert_metric_to_imperial(metric_value) metric_value.to_f * 0.622 end def parse_extra_values!(args) @bearing = args.pop if args.size > 1 end def bearing_to_s "#{bearing} degrees" unless bearing.nil? end def freeze_extra @bearing.freeze end end end end
Version data entries
8 entries across 8 versions & 1 rubygems