owmo 1.1.0 → 1.2.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +29 -18
- data/lib/core_extensions/net/http_response/weather_response.rb +1 -1
- data/lib/owmo/api.rb +1 -1
- data/lib/owmo/version.rb +1 -1
- data/lib/owmo/weather/parameters.rb +3 -0
- data/lib/owmo/weather.rb +4 -4
- data/lib/owmo.rb +1 -1
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: a412e9d668b31fda079d98755fc42eda2ecb0914
|
4
|
+
data.tar.gz: 74ae3e5e9d8069f5c8466f28ba47a271aa72032f
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: a06e37fd046e4fa840ba9b2e04e8a176ceb8db775575a3c8ad3b673321f103bf161d766202f249b60a4ad1def192a80c7073b618caa97e3d2ae9b98d836d6484
|
7
|
+
data.tar.gz: 7bc73c2851eb22dbfc95e7a6f2cb701774dbad74e04972fcc96b7c0bcabb2c060522c07319c68ed6f1be0ae53645aba4f19d03c6213523b25183a4df1b000978
|
data/README.md
CHANGED
@@ -29,6 +29,12 @@ Complete examples can be found under owmo/examples.
|
|
29
29
|
----
|
30
30
|
### Quick Start
|
31
31
|
|
32
|
+
```ruby
|
33
|
+
require 'owmo'
|
34
|
+
api_key = "<api key here>"
|
35
|
+
puts OWMO::weather(api_key).get :current, city_name: "London,UK"
|
36
|
+
```
|
37
|
+
|
32
38
|
```ruby
|
33
39
|
require 'owmo'
|
34
40
|
api_key = "<api key here>"
|
@@ -45,19 +51,24 @@ OWMO::weather(api_key) { |weather| puts weather.get :current, city_name: "London
|
|
45
51
|
### Weather Information
|
46
52
|
#### [Current weather data](http://openweathermap.org/current)
|
47
53
|
```ruby
|
48
|
-
weather.get :current, city_name: "London,UK"
|
54
|
+
OWMO::weather(api_key).get :current, city_name: "London,UK"
|
49
55
|
```
|
50
56
|
[Full example](https://github.com/robb-randall/owmo/blob/master/examples/current.rb)
|
51
57
|
|
58
|
+
### [Current weather data for multiple cities](http://openweathermap.org/current#severalid)
|
59
|
+
```ruby
|
60
|
+
OWMO::weather(api_key).get :group, city_id: [4850751,4887398,2643743,4164138,5368361].join(",")
|
61
|
+
```
|
62
|
+
|
52
63
|
#### [5 day weather forecast](http://openweathermap.org/forecast5)
|
53
64
|
```ruby
|
54
|
-
weather.get :forecast5, city_name: "London,UK"
|
65
|
+
OWMO::weather(api_key).get :forecast5, city_name: "London,UK"
|
55
66
|
```
|
56
67
|
[Full example](https://github.com/robb-randall/owmo/blob/master/examples/forecast5.rb)
|
57
68
|
|
58
69
|
#### [16 day weather forecast](http://openweathermap.org/forecast16)
|
59
70
|
```ruby
|
60
|
-
weather.get :forecast16, city_name: "London,UK"
|
71
|
+
OWMO::weather(api_key).get :forecast16, city_name: "London,UK"
|
61
72
|
```
|
62
73
|
[Full example](https://github.com/robb-randall/owmo/blob/master/examples/forecast16.rb)
|
63
74
|
|
@@ -67,46 +78,46 @@ weather.get :forecast16, city_name: "London,UK"
|
|
67
78
|
#### Geocode (required)
|
68
79
|
```ruby
|
69
80
|
# Geocode by City ID
|
70
|
-
weather.get :current, city_id: 5328041
|
71
|
-
weather.get :current, id: 5328041
|
81
|
+
OWMO::weather(api_key).get :current, city_id: 5328041
|
82
|
+
OWMO::weather(api_key).get :current, id: 5328041
|
72
83
|
|
73
84
|
# Geocode by City Name
|
74
|
-
weather.get :current, city_name: "Beverly Hills"
|
75
|
-
weather.get :current, q: "Beverly Hills"
|
85
|
+
OWMO::weather(api_key).get :current, city_name: "Beverly Hills"
|
86
|
+
OWMO::weather(api_key).get :current, q: "Beverly Hills"
|
76
87
|
|
77
88
|
# Geocode by Zip Code
|
78
|
-
weather.get :current, zip: 90210
|
79
|
-
weather.get :current, zip_code: 90210
|
89
|
+
OWMO::weather(api_key).get :current, zip: 90210
|
90
|
+
OWMO::weather(api_key).get :current, zip_code: 90210
|
80
91
|
|
81
92
|
# Geocode by Coordinance
|
82
|
-
weather.get :current, lon: -118.41, lat: 34.09
|
93
|
+
OWMO::weather(api_key).get :current, lon: -118.41, lat: 34.09
|
83
94
|
```
|
84
95
|
[Full example](https://github.com/robb-randall/owmo/blob/master/examples/query_geocode.rb)
|
85
96
|
|
86
97
|
#### Mode
|
87
98
|
```ruby
|
88
99
|
# Response in JSON format (default)
|
89
|
-
weather.get :current, city_name: "London,UK"
|
90
|
-
weather.get :current, city_name: "London,UK", mode: :json
|
100
|
+
OWMO::weather(api_key).get :current, city_name: "London,UK"
|
101
|
+
OWMO::weather(api_key).get :current, city_name: "London,UK", mode: :json
|
91
102
|
|
92
103
|
# Response in XML format
|
93
|
-
weather.get :current, city_name: "London,UK", mode: :xml
|
104
|
+
OWMO::weather(api_key).get :current, city_name: "London,UK", mode: :xml
|
94
105
|
|
95
106
|
# Response in HTML format
|
96
|
-
weather.get :current, city_name: "London,UK", mode: :html
|
107
|
+
OWMO::weather(api_key).get :current, city_name: "London,UK", mode: :html
|
97
108
|
```
|
98
109
|
[Full example](https://github.com/robb-randall/owmo/blob/master/examples/query_mode.rb)
|
99
110
|
|
100
111
|
#### Units
|
101
112
|
```ruby
|
102
113
|
# Kelvin (default)
|
103
|
-
weather.get :current, city_name: "London,UK"
|
114
|
+
OWMO::weather(api_key).get :current, city_name: "London,UK"
|
104
115
|
|
105
116
|
# Imperial
|
106
|
-
weather.get :current, city_name: "London,UK", units: :imperial
|
117
|
+
OWMO::weather(api_key).get :current, city_name: "London,UK", units: :imperial
|
107
118
|
|
108
119
|
# Metric
|
109
|
-
weather.get :current, city_name: "London,UK", units: :metric
|
120
|
+
OWMO::weather(api_key).get :current, city_name: "London,UK", units: :metric
|
110
121
|
```
|
111
122
|
[Full example](https://github.com/robb-randall/owmo/blob/master/examples/query_units.rb)
|
112
123
|
|
@@ -119,7 +130,7 @@ query = {
|
|
119
130
|
lang: 'fr'
|
120
131
|
}
|
121
132
|
|
122
|
-
weather.get :current, query
|
133
|
+
OWMO::weather(api_key).get :current, query
|
123
134
|
```
|
124
135
|
[Full example](https://github.com/robb-randall/owmo/blob/master/examples/query_all.rb)
|
125
136
|
|
data/lib/owmo/api.rb
CHANGED
@@ -33,7 +33,7 @@ Sends the GET request to OpenWeatherMap.org, and returns the response
|
|
33
33
|
end # response
|
34
34
|
|
35
35
|
# Check the response
|
36
|
-
raise
|
36
|
+
raise WeatherResponseError.new(response) if response.has_error?
|
37
37
|
|
38
38
|
return response.weather
|
39
39
|
|
data/lib/owmo/version.rb
CHANGED
@@ -1,4 +1,6 @@
|
|
1
1
|
module WeatherParameters
|
2
|
+
attr_reader :Paths, :Geocodes
|
3
|
+
|
2
4
|
=begin rdoc
|
3
5
|
Access current or forecasted conditions by (required):
|
4
6
|
* +:current+ - {Current weather data}[http://openweathermap.org/current]
|
@@ -6,6 +8,7 @@ Access current or forecasted conditions by (required):
|
|
6
8
|
* +:forecast16+ - {16 day / daily forecast}[http://openweathermap.org/forecast16]
|
7
9
|
=end
|
8
10
|
Paths = {
|
11
|
+
group: 'group', # Current weather w/multiple IDs
|
9
12
|
current: 'weather', # Current weather data
|
10
13
|
forecast5: 'forecast', # 5 day / 3 hour forecast
|
11
14
|
forecast16: 'forecast/daily' # 16 day / daily forecast
|
data/lib/owmo/weather.rb
CHANGED
@@ -19,11 +19,11 @@ A weather class for retrieving current and forecasted weather conditions.
|
|
19
19
|
|
20
20
|
=end
|
21
21
|
class Weather
|
22
|
+
include WeatherAPI
|
22
23
|
include WeatherExceptions
|
23
24
|
include WeatherParameters
|
24
|
-
include WeatherAPI
|
25
25
|
|
26
|
-
attr_reader :api_key
|
26
|
+
attr_reader :api_key
|
27
27
|
|
28
28
|
def initialize(api_key, **kwargs) #:notnew:
|
29
29
|
@api_key = api_key
|
@@ -51,7 +51,7 @@ A weather class for retrieving current and forecasted weather conditions.
|
|
51
51
|
|
52
52
|
# Create the uri
|
53
53
|
raise InvalidPathSpecified.new(path) if Paths[path].nil?
|
54
|
-
uri = URI "#{OWMO::URL}/#{Paths[path]}?#{URI.encode_www_form(query)}"
|
54
|
+
uri = URI "#{OWMO::URL}/#{Paths[path]}?#{URI.encode_www_form(query).gsub('%2C', ',')}"
|
55
55
|
|
56
56
|
# Get the weather data
|
57
57
|
get_weather(uri)
|
@@ -63,7 +63,7 @@ Ensure appropriate query options are applied to the final URI
|
|
63
63
|
=end
|
64
64
|
def check_geocodes(**query)
|
65
65
|
|
66
|
-
# May never be called since query is
|
66
|
+
# May never be called since query is requiredcity_name
|
67
67
|
raise MissingGeocodes if query.size == 0
|
68
68
|
|
69
69
|
Geocodes.each do |name, geocodes|
|
data/lib/owmo.rb
CHANGED