class Forecast
Constants
- PROVIDERS
- VERSION
Public Class Methods
config()
click to toggle source
# File lib/forecast/config.rb, line 61 def self.config @@config ||= Config.new end
configure() { |config| ... }
click to toggle source
# File lib/forecast/config.rb, line 65 def self.configure yield self.config # puts 'configured' if self.config.config_file != nil self.config.load(self.config.config_file) end end
current(latitude, longitude)
click to toggle source
# File lib/forecast.rb, line 51 def current(latitude, longitude) return adapter.current(latitude, longitude) end
daily(latitude, longitude)
click to toggle source
# File lib/forecast.rb, line 59 def daily(latitude, longitude) return adapter.daily(latitude, longitude) end
hourly(latitude, longitude)
click to toggle source
# File lib/forecast.rb, line 55 def hourly(latitude, longitude) return adapter.hourly(latitude, longitude) end
new(attrs = {})
click to toggle source
# File lib/forecast.rb, line 21 def initialize(attrs = {}) @source = OpenStruct.new(attrs) end
Private Class Methods
adapter()
click to toggle source
# File lib/forecast.rb, line 65 def adapter if @adapter == nil @adapter = Forecast::Adapter.instance end return @adapter end
Public Instance Methods
as_json(options = nil)
click to toggle source
# File lib/forecast.rb, line 25 def as_json(options = nil) @source.table.as_json(options) end
icon()
click to toggle source
# File lib/forecast.rb, line 33 def icon # Pick icon from theme if self.condition != nil && Forecast.config.theme.is_a?(Hash) icon_prefix = Forecast.config.theme.has_key?('prefix') ? Forecast.config.theme['prefix'] : '' icon_suffix = Forecast.config.theme.has_key?('suffix') ? Forecast.config.theme['suffix'] : '' icon_name = Forecast.config.theme['conditions'].has_key?(self.condition) ? Forecast.config.theme['conditions'][self.condition] : self.condition # Dasherize icon_name = icon_name.to_s.gsub(/(.)([A-Z])/,'\1-\2').gsub(/\s*/, '').downcase icon = icon_prefix + icon_name + icon_suffix return icon != nil ? icon : self.icon end # Slugified condition as icon name self.condition.is_a?(String) && self.condition.downcase.strip.gsub(' ', '-').gsub(/[^\w-]/, '') end
method_missing(method, *args, &block)
click to toggle source
# File lib/forecast.rb, line 17 def method_missing(method, *args, &block) @source.send(method, *args, &block) end
to_json(*a)
click to toggle source
# File lib/forecast.rb, line 29 def to_json *a self.marshal_dump.to_json a end