class SunnyDay::CLI
Public Instance Methods
d_forecast(days, city = nil)
click to toggle source
# File lib/sunnyday/cli/cli.rb, line 29 def d_forecast(days, city = nil) return unless validate(city) opts = w_options(city) opts[:cnt] = days data = client.daily_forecast(opts) SunnyDay::Output.new.daily_forecast(data) end
find(city = nil)
click to toggle source
# File lib/sunnyday/cli/cli.rb, line 39 def find(city = nil) return unless validate(city) opts = w_options(city) opts[:cnt] = (options[:limit] - 1) if options[:limit] && options[:limit] > 0 opts.delete(:limit) if opts.has_key?(:limit) data = client.find(opts) SunnyDay::Output.new.find(data) end
forecast(city = nil)
click to toggle source
# File lib/sunnyday/cli/cli.rb, line 22 def forecast(city = nil) return unless validate(city) data = client.forecast(w_options(city)) SunnyDay::Output.new.forecast(data) end
weather(city = nil)
click to toggle source
# File lib/sunnyday/cli/cli.rb, line 15 def weather(city = nil) return unless validate(city) data = client.current_weather(w_options(city)) SunnyDay::Output.new.weather(data) end
Private Instance Methods
client(config = {})
click to toggle source
# File lib/sunnyday/cli/cli.rb, line 62 def client(config = {}) SunnyDay.client(config) end
validate(city)
click to toggle source
# File lib/sunnyday/cli/cli.rb, line 50 def validate(city) valid = !city.nil? || (!options[:lat].nil? && !options[:long].nil?) || !options[:id].nil? puts 'Sorry, your input doesn’t appear to be valid. Use "sunnyday help" to see available options.' unless valid valid end
w_options(city)
click to toggle source
# File lib/sunnyday/cli/cli.rb, line 56 def w_options(city) opts = options.dup opts[:q] = city unless city.nil? opts end