weer 0.1.0 → 0.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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
|