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