weer 0.1.0 → 0.1.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/weer.rb +1 -1
- data/lib/weer/cli/weather.rb +4 -4
- data/lib/weer/invalid_city.rb +1 -0
- data/lib/weer/lib/wetter.rb +9 -8
- data/lib/weer/version.rb +1 -1
- metadata +3 -17
- data/lib/weer/error.rb +0 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 39ba03cfb5acbdb5f0c3d906a81f2f2c30c61de4
|
4
|
+
data.tar.gz: 1518c689b6ec15a967d07608dd63398ee0c382a6
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: a2f854a55055c5c1755ecd8461d3f1212e3ad4b26a47415deb7bf5d607d039795767a2097c3e40f1c3474881d3e97a5259bcc1c26905fdc5c721ab6c66d95ce1
|
7
|
+
data.tar.gz: d171493dc11a20253bb2de2698ae6654d37083df4dae0e685ec46cf8c6ce1089cb7636924cef06f96df123172499498ef26c76cb1a136c3eb9eacb493b72168e
|
data/lib/weer.rb
CHANGED
data/lib/weer/cli/weather.rb
CHANGED
@@ -21,23 +21,23 @@ module Weer
|
|
21
21
|
wetter = Wetter.new options[:city]
|
22
22
|
response = wetter.connect
|
23
23
|
|
24
|
-
raise
|
24
|
+
raise InvalidCity, "Oops, hey man! looks like your city is wrong" if response['query']['results'].nil?
|
25
25
|
forecasts = wetter.forecast response
|
26
26
|
|
27
|
-
puts Rainbow("
|
27
|
+
puts Rainbow(" The forecast(#{options[:temperature]}) of #{options[:city].upcase!} in the next coming days ".center(80, '=')).green
|
28
28
|
puts Rainbow(wetter.parse_forecast forecasts, temperature).orange
|
29
29
|
|
30
30
|
if options[:all]
|
31
31
|
wind = wetter.wind response
|
32
32
|
|
33
33
|
puts "\n"
|
34
|
-
puts Rainbow("
|
34
|
+
puts Rainbow(" The wind power of #{Date.today.to_s} ".center(80, '=')).green
|
35
35
|
puts Rainbow(wetter.parse_wind wind).orange
|
36
36
|
|
37
37
|
atmosphere = wetter.atmosphere response
|
38
38
|
|
39
39
|
puts "\n"
|
40
|
-
puts Rainbow("
|
40
|
+
puts Rainbow(" The atmosphere of #{Date.today.to_s} ".center(80, '=')).green
|
41
41
|
puts Rainbow(wetter.parse_atmosphere atmosphere).orange
|
42
42
|
end
|
43
43
|
end
|
@@ -0,0 +1 @@
|
|
1
|
+
class InvalidCity < StandardError; end
|
data/lib/weer/lib/wetter.rb
CHANGED
@@ -3,11 +3,13 @@ require 'terminal-table'
|
|
3
3
|
|
4
4
|
class Wetter
|
5
5
|
# Set attributes reader
|
6
|
-
attr_reader :
|
6
|
+
attr_reader :options
|
7
|
+
|
8
|
+
# include HTTParty
|
9
|
+
include HTTParty
|
7
10
|
|
8
11
|
# Instance variable
|
9
|
-
|
10
|
-
FORMAT_RESPONSE = '&format=json&env=store://datatables.org/alltableswithkeys'
|
12
|
+
base_uri 'query.yahooapis.com'
|
11
13
|
|
12
14
|
# Create constructor Wetter object
|
13
15
|
#
|
@@ -19,7 +21,7 @@ class Wetter
|
|
19
21
|
#
|
20
22
|
# Returns nothing
|
21
23
|
def initialize(city)
|
22
|
-
@
|
24
|
+
@options = { query: { q: yql_city(city), format: 'json', env: 'store://datatables.org/alltableswithkeys' } }
|
23
25
|
end
|
24
26
|
|
25
27
|
# Make an http request to Yahoo Weather API
|
@@ -31,9 +33,8 @@ class Wetter
|
|
31
33
|
#
|
32
34
|
# Returns the Hash response
|
33
35
|
def connect
|
34
|
-
|
35
|
-
|
36
|
-
request.code == 200 ? JSON.parse(request.body) : nil
|
36
|
+
response = self.class.get('/v1/public/yql', options)
|
37
|
+
response.code == 200 ? JSON.parse(response.body) : nil
|
37
38
|
end
|
38
39
|
|
39
40
|
# Parse the forecasts to table
|
@@ -166,7 +167,7 @@ class Wetter
|
|
166
167
|
# # => "select * from weather.forecast where woeid in (select woeid from geo.places(1) where text=\"Da Nang\")"
|
167
168
|
#
|
168
169
|
# Returns an query
|
169
|
-
def yql_city
|
170
|
+
def yql_city(city)
|
170
171
|
"select * from weather.forecast where woeid in (select woeid from geo.places(1) where text=\"#{city}\")"
|
171
172
|
end
|
172
173
|
|
data/lib/weer/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: weer
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Vinh Nguyen
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2016-02-
|
11
|
+
date: 2016-02-15 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -52,20 +52,6 @@ dependencies:
|
|
52
52
|
- - "~>"
|
53
53
|
- !ruby/object:Gem::Version
|
54
54
|
version: '3.0'
|
55
|
-
- !ruby/object:Gem::Dependency
|
56
|
-
name: byebug
|
57
|
-
requirement: !ruby/object:Gem::Requirement
|
58
|
-
requirements:
|
59
|
-
- - ">="
|
60
|
-
- !ruby/object:Gem::Version
|
61
|
-
version: '0'
|
62
|
-
type: :development
|
63
|
-
prerelease: false
|
64
|
-
version_requirements: !ruby/object:Gem::Requirement
|
65
|
-
requirements:
|
66
|
-
- - ">="
|
67
|
-
- !ruby/object:Gem::Version
|
68
|
-
version: '0'
|
69
55
|
- !ruby/object:Gem::Dependency
|
70
56
|
name: webmock
|
71
57
|
requirement: !ruby/object:Gem::Requirement
|
@@ -164,7 +150,7 @@ files:
|
|
164
150
|
- lib/weer.rb
|
165
151
|
- lib/weer/cli.rb
|
166
152
|
- lib/weer/cli/weather.rb
|
167
|
-
- lib/weer/
|
153
|
+
- lib/weer/invalid_city.rb
|
168
154
|
- lib/weer/lib/wetter.rb
|
169
155
|
- lib/weer/version.rb
|
170
156
|
homepage: http://todayifoundout.net
|
data/lib/weer/error.rb
DELETED
@@ -1 +0,0 @@
|
|
1
|
-
class FakeURLInvalid < StandardError; end
|