lib/barometer/data/current.rb in barometer-0.3.2 vs lib/barometer/data/current.rb in barometer-0.5.0

- old
+ new

@@ -4,22 +4,19 @@ # a data class for current weather conditions # # This is basically a data holding class for the current weather # conditions. # - class CurrentMeasurement + class Data::CurrentMeasurement - attr_accessor :time, :local_time + attr_reader :current_at, :updated_at attr_reader :humidity, :icon, :condition attr_reader :temperature, :dew_point, :heat_index, :wind_chill attr_reader :wind, :pressure, :visibility, :sun - def time=(time) - #raise ArgumentError unless time.is_a?(Time) - @time = time - end - + # accessors (with input checking) + # def humidity=(humidity) raise ArgumentError unless (humidity.is_a?(Fixnum) || humidity.is_a?(Float)) @humidity = humidity end @@ -33,53 +30,64 @@ raise ArgumentError unless condition.is_a?(String) @condition = condition end def temperature=(temperature) - raise ArgumentError unless temperature.is_a?(Barometer::Temperature) + raise ArgumentError unless temperature.is_a?(Data::Temperature) @temperature = temperature end def dew_point=(dew_point) - raise ArgumentError unless dew_point.is_a?(Barometer::Temperature) + raise ArgumentError unless dew_point.is_a?(Data::Temperature) @dew_point = dew_point end def heat_index=(heat_index) - raise ArgumentError unless heat_index.is_a?(Barometer::Temperature) + raise ArgumentError unless heat_index.is_a?(Data::Temperature) @heat_index = heat_index end def wind_chill=(wind_chill) - raise ArgumentError unless wind_chill.is_a?(Barometer::Temperature) + raise ArgumentError unless wind_chill.is_a?(Data::Temperature) @wind_chill = wind_chill end def wind=(wind) - raise ArgumentError unless wind.is_a?(Barometer::Speed) + raise ArgumentError unless wind.is_a?(Data::Speed) @wind = wind end def pressure=(pressure) - raise ArgumentError unless pressure.is_a?(Barometer::Pressure) + raise ArgumentError unless pressure.is_a?(Data::Pressure) @pressure = pressure end def visibility=(visibility) - raise ArgumentError unless visibility.is_a?(Barometer::Distance) + raise ArgumentError unless visibility.is_a?(Data::Distance) @visibility = visibility end def sun=(sun) - raise ArgumentError unless sun.is_a?(Barometer::Sun) + raise ArgumentError unless sun.is_a?(Data::Sun) @sun = sun end + def current_at=(current_at) + raise ArgumentError unless (current_at.is_a?(Data::LocalTime) || current_at.is_a?(Data::LocalDateTime)) + @current_at = current_at + end + + def updated_at=(updated_at) + raise ArgumentError unless (updated_at.is_a?(Data::LocalTime) || updated_at.is_a?(Data::LocalDateTime)) + @updated_at = updated_at + end + # # helpers # # creates "?" helpers for all attributes (which maps to nil?) + # def method_missing(method,*args) # if the method ends in ?, then strip it off and see if we # respond to the method without the ? if (call_method = method.to_s.chomp!("?")) && respond_to?(call_method) return send(call_method).nil? ? false : true \ No newline at end of file