class Stormglass::Value
represents a value for a stormglass prediction source with prefered unit_type contains a collection of Stormglass::Subvalue's, which represent a particular unit of measurement for example, a Stormglass::Value
for air_temperature would have Stormglass::Subvalue's for Celsius and Fahrenheit
Public Class Methods
new(attribute, src, data_source, unit_type)
click to toggle source
# File lib/stormglass/value.rb, line 10 def initialize(attribute, src, data_source, unit_type) @attribute = attribute @src = src @data_source = data_source @unit_type = unit_type end
Public Instance Methods
attribute()
click to toggle source
# File lib/stormglass/value.rb, line 36 def attribute @attribute end
data_source()
click to toggle source
# File lib/stormglass/value.rb, line 17 def data_source @data_source end
data_sources()
click to toggle source
returns the sources available for this value
# File lib/stormglass/value.rb, line 28 def data_sources src.collect{|v| v['source']} end
dict()
click to toggle source
# File lib/stormglass/value.rb, line 65 def dict Stormglass::RESULT_DICT[attribute] end
for_source()
click to toggle source
# File lib/stormglass/value.rb, line 21 def for_source @src.collect do |v| v['value'] if (!v['source'].nil? && v['source'] == data_source) end.compact.first end
inspect()
click to toggle source
# File lib/stormglass/value.rb, line 44 def inspect string = "#<#{self.class.to_s} " string +="value=#{preffered_subvalue.value}, unit='#{preffered_subvalue.unit}', description='#{preffered_subvalue.description}', " string +="unit_type='#{preffered_subvalue.unit_type}', unit_types=#{unit_types.to_s}, data_source='#{@data_source}', data_sources=#{data_sources}>" string end
preffered_subvalue()
click to toggle source
# File lib/stormglass/value.rb, line 55 def preffered_subvalue if @unit_type subvalues.find{|subvalue| subvalue.unit_type == @unit_type} elsif setting_key = Stormglass.settings.units[@attribute] subvalues.find{|subvalue| subvalue.unit_type == setting_key} else subvalues.first end end
src()
click to toggle source
# File lib/stormglass/value.rb, line 40 def src @src end
subvalues()
click to toggle source
# File lib/stormglass/value.rb, line 69 def subvalues subvals = [] raw_val = for_source() subvals << {value: raw_val}.merge(dict) Stormglass::AlternateValues.perform(subvals) subvals.collect{|subvalue| Stormglass::Subvalue.new(subvalue) } end
to_s()
click to toggle source
# File lib/stormglass/value.rb, line 32 def to_s preffered_subvalue.to_s end
unit_types()
click to toggle source
# File lib/stormglass/value.rb, line 51 def unit_types subvalues.collect(&:unit_type) end