swissforecast 0.1.0 → 0.2.0
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/Gemfile.lock +4 -23
- data/README.md +7 -2
- data/lib/swissforecast.rb +7 -11
- data/swissforecast.gemspec +1 -2
- data/test/client_test.rb +3 -3
- metadata +2 -16
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 698c03fa9ebfbee03e8b8d757f79478a9deb37d0
|
4
|
+
data.tar.gz: 877b13a02a47ffdbdc840e0853b1bc9af3e442bd
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 73bb069957f3bb9feb0f28f790e293aee688be289302b2fc5d8ec45252686e4394a3c40548a6ab38ff010b003b486f2a4ed559c93ad9e06958ea3fc42fd83eff
|
7
|
+
data.tar.gz: a3eeea1ea12e3d4461814ba170abe2dc3a1806620f1ae3f7392f270be7c58a54f1143bbfe16edf6c823f77ae7f5adb42e893b3bf88b303598167a410c7b6246a
|
data/Gemfile.lock
CHANGED
@@ -2,8 +2,6 @@ PATH
|
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
4
|
swissforecast (0.1.0)
|
5
|
-
json
|
6
|
-
rest-client
|
7
5
|
|
8
6
|
GEM
|
9
7
|
remote: http://rubygems.org/
|
@@ -11,26 +9,10 @@ GEM
|
|
11
9
|
addressable (2.4.0)
|
12
10
|
crack (0.4.3)
|
13
11
|
safe_yaml (~> 1.0.0)
|
14
|
-
domain_name (0.5.20160615)
|
15
|
-
unf (>= 0.0.5, < 1.0.0)
|
16
12
|
hashdiff (0.3.0)
|
17
|
-
|
18
|
-
domain_name (~> 0.5)
|
19
|
-
json (2.0.1)
|
20
|
-
mime-types (3.1)
|
21
|
-
mime-types-data (~> 3.2015)
|
22
|
-
mime-types-data (3.2016.0521)
|
23
|
-
minitest (5.8.4)
|
24
|
-
netrc (0.11.0)
|
13
|
+
minitest (5.9.0)
|
25
14
|
rake (11.2.2)
|
26
|
-
rest-client (2.0.0)
|
27
|
-
http-cookie (>= 1.0.2, < 2.0)
|
28
|
-
mime-types (>= 1.16, < 4.0)
|
29
|
-
netrc (~> 0.8)
|
30
15
|
safe_yaml (1.0.4)
|
31
|
-
unf (0.1.4)
|
32
|
-
unf_ext
|
33
|
-
unf_ext (0.0.7.2)
|
34
16
|
webmock (2.1.0)
|
35
17
|
addressable (>= 2.3.6)
|
36
18
|
crack (>= 0.3.2)
|
@@ -40,11 +22,10 @@ PLATFORMS
|
|
40
22
|
ruby
|
41
23
|
|
42
24
|
DEPENDENCIES
|
43
|
-
|
44
|
-
|
45
|
-
rake
|
25
|
+
minitest (~> 5.8)
|
26
|
+
rake (~> 11.2)
|
46
27
|
swissforecast!
|
47
|
-
webmock (~> 2.1
|
28
|
+
webmock (~> 2.1)
|
48
29
|
|
49
30
|
BUNDLED WITH
|
50
31
|
1.10.6
|
data/README.md
CHANGED
@@ -1,5 +1,8 @@
|
|
1
1
|
#swissforecast
|
2
2
|
|
3
|
+
[](https://badge.fury.io/rb/swissforecast)
|
4
|
+
[](https://travis-ci.org/ghn/swissforecast)
|
5
|
+
|
3
6
|
Ruby client for the Swiss weather forecast API
|
4
7
|
|
5
8
|
##Installation
|
@@ -22,13 +25,13 @@ See below how to use this client.
|
|
22
25
|
###Find by city
|
23
26
|
|
24
27
|
```ruby
|
25
|
-
client.
|
28
|
+
client.find_by city: 'Lausanne'
|
26
29
|
```
|
27
30
|
|
28
31
|
###Find by position
|
29
32
|
|
30
33
|
```ruby
|
31
|
-
client.
|
34
|
+
client.find_by lat: '46.58', lng: '6.60'
|
32
35
|
```
|
33
36
|
|
34
37
|
## Development
|
@@ -42,3 +45,5 @@ rake test
|
|
42
45
|
## License
|
43
46
|
|
44
47
|
MIT License (MIT)
|
48
|
+
|
49
|
+
Thanks to [Prevision meteo](http://www.prevision-meteo.ch) for opening their data
|
data/lib/swissforecast.rb
CHANGED
@@ -7,19 +7,15 @@ module Swissforecast
|
|
7
7
|
DEFAULT_DOMAIN = 'http://www.prevision-meteo.ch/services/json'.freeze
|
8
8
|
|
9
9
|
#
|
10
|
-
# => find weather by city
|
10
|
+
# => find weather by city or by gps position
|
11
11
|
#
|
12
12
|
|
13
|
-
def
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
#
|
20
|
-
|
21
|
-
def find_by_position(lat, lng)
|
22
|
-
perform("lat=#{lat}lng=#{lng}")
|
13
|
+
def find_by(param)
|
14
|
+
if param.key?(:city)
|
15
|
+
perform(param[:city].sub(' ', '-'))
|
16
|
+
elsif param.key?(:lat) && param.key?(:lng)
|
17
|
+
perform("lat=#{param[:lat]}lng=#{param[:lng]}")
|
18
|
+
end
|
23
19
|
end
|
24
20
|
|
25
21
|
private
|
data/swissforecast.gemspec
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
Gem::Specification.new do |gem|
|
2
2
|
gem.name = 'swissforecast'
|
3
|
-
gem.version = '0.
|
3
|
+
gem.version = '0.2.0'
|
4
4
|
gem.authors = ['ghn']
|
5
5
|
gem.email = ['ghugon@gmail.com']
|
6
6
|
gem.description = 'Swissforecast helps you query the swiss weather forecast
|
@@ -14,7 +14,6 @@ Gem::Specification.new do |gem|
|
|
14
14
|
gem.test_files = gem.files.grep(%r{^(test|spec|features)/})
|
15
15
|
gem.require_paths = ['lib']
|
16
16
|
|
17
|
-
gem.add_development_dependency('bundler', '~> 1.12')
|
18
17
|
gem.add_development_dependency('rake', '~> 11.2')
|
19
18
|
gem.add_development_dependency('minitest', '~> 5.8')
|
20
19
|
gem.add_development_dependency('webmock', '~> 2.1')
|
data/test/client_test.rb
CHANGED
@@ -11,7 +11,7 @@ class ClientTest < Minitest::Test
|
|
11
11
|
def test_find_by_city
|
12
12
|
stub_response('client_test_city.json')
|
13
13
|
|
14
|
-
weather = @client.
|
14
|
+
weather = @client.find_by city: 'lausanne'
|
15
15
|
|
16
16
|
assert weather.city_info.name == 'Lausanne'
|
17
17
|
assert weather.city_info.country == 'Suisse'
|
@@ -20,7 +20,7 @@ class ClientTest < Minitest::Test
|
|
20
20
|
def test_find_by_position
|
21
21
|
stub_response('client_test_position.json')
|
22
22
|
|
23
|
-
weather = @client.
|
23
|
+
weather = @client.find_by lat: '46.58', lng: '6.60'
|
24
24
|
|
25
25
|
assert weather.city_info.name == 'NA'
|
26
26
|
assert weather.city_info.country == '--'
|
@@ -30,7 +30,7 @@ class ClientTest < Minitest::Test
|
|
30
30
|
def test_errors
|
31
31
|
stub_response('client_test_failure.json')
|
32
32
|
|
33
|
-
weather = @client.
|
33
|
+
weather = @client.find_by city: 'not_existing_city'
|
34
34
|
|
35
35
|
assert weather.errors.count == 1
|
36
36
|
assert weather.errors.first.code == '11'
|
metadata
CHANGED
@@ -1,29 +1,15 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: swissforecast
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.2.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- ghn
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2016-
|
11
|
+
date: 2016-08-04 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
|
-
- !ruby/object:Gem::Dependency
|
14
|
-
name: bundler
|
15
|
-
requirement: !ruby/object:Gem::Requirement
|
16
|
-
requirements:
|
17
|
-
- - "~>"
|
18
|
-
- !ruby/object:Gem::Version
|
19
|
-
version: '1.12'
|
20
|
-
type: :development
|
21
|
-
prerelease: false
|
22
|
-
version_requirements: !ruby/object:Gem::Requirement
|
23
|
-
requirements:
|
24
|
-
- - "~>"
|
25
|
-
- !ruby/object:Gem::Version
|
26
|
-
version: '1.12'
|
27
13
|
- !ruby/object:Gem::Dependency
|
28
14
|
name: rake
|
29
15
|
requirement: !ruby/object:Gem::Requirement
|