air-pollution-gem 0.0.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (3) hide show
  1. checksums.yaml +7 -0
  2. data/lib/pollution.rb +67 -0
  3. metadata +47 -0
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA256:
3
+ metadata.gz: c3d94869a1ac8267d23b102c972bd7d2e2984364855be0f7d0606799a7125124
4
+ data.tar.gz: dfc7071e4981cded9fd10b4d12b899a27c376c0f61194b5e50ceab7612adecd3
5
+ SHA512:
6
+ metadata.gz: 52db1bfc7c864ab8cf55782e6eca6e61620de88d928d784ecd060f59c5360df340ae0bc074cde831ec47ae5bb307bebfc4562022576c1e37dae7c824c0b0a965
7
+ data.tar.gz: d50cb6c4c7ff67f943ca641bfadbc37de233eab6c556e8c08f54c29a3eabb2cfebd05b3b619d15e165bcf6a98e676946471be7b323f56d418ba1716a061e3cbc
@@ -0,0 +1,67 @@
1
+ require 'net/http'
2
+ require 'json'
3
+
4
+ class Pollution
5
+
6
+ @token
7
+
8
+ def initialize(token)
9
+ @token = token
10
+ end
11
+
12
+ def city(cityname)
13
+ data = JSON.parse(Net::HTTP.get('api.waqi.info', "/feed/#{cityname}/?token=#{@token}"))
14
+ if data['status'] == 'error'
15
+ raise data['data']
16
+ else
17
+ return data
18
+ end
19
+ end
20
+
21
+ def here
22
+ data = JSON.parse(Net::HTTP.get('api.waqi.info', "/feed/here/?token=#{@token}"))
23
+ if data['status'] == 'error'
24
+ raise data['data']
25
+ else
26
+ return data
27
+ end
28
+ end
29
+
30
+ def geo(latitude, longitude)
31
+ data = JSON.parse(Net::HTTP.get('api.waqi.info', "/feed/geo:#{latitude};#{longitude}/?token=#{@token}"))
32
+ if data['status'] == 'error'
33
+ raise data['data']
34
+ else
35
+ return data
36
+ end
37
+ end
38
+
39
+ def geo(latitude, longitude)
40
+ data = JSON.parse(Net::HTTP.get('api.waqi.info', "/feed/geo:#{latitude};#{longitude}/?token=#{@token}"))
41
+ if data['status'] == 'error'
42
+ raise data['data']
43
+ else
44
+ return data
45
+ end
46
+ end
47
+
48
+ def map(latitude_min, longitude_min, latitude_max, longitude_max)
49
+ latlng = latitude_min.to_s + longitude_min.to_s + latitude_max.to_s + longitude_max.to_s
50
+ data = JSON.parse(Net::HTTP.get('api.waqi.info', "/map/bounds/?token=#{@token}&latlng=#{latlng}"))
51
+ if data['status'] == 'error'
52
+ raise data['data']
53
+ else
54
+ return data
55
+ end
56
+ end
57
+
58
+ def search(keyword)
59
+ data = JSON.parse(Net::HTTP.get('api.waqi.info', "/search/?keyword=#{keyword}&token=#{@token}"))
60
+ if data['status'] == 'error'
61
+ raise data['data']
62
+ else
63
+ return data
64
+ end
65
+ end
66
+
67
+ end
metadata ADDED
@@ -0,0 +1,47 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: air-pollution-gem
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.1
5
+ platform: ruby
6
+ authors:
7
+ - Cosimo Libutti
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2019-12-28 00:00:00.000000000 Z
12
+ dependencies: []
13
+ description: This is a fast and easy-to-use library which makes it easy to make queries
14
+ to the Air Pollution API. It makes it easy to send queries to the API and always
15
+ returns easy to use hashes. It also manages errors. The complete API has been implemented!
16
+ email: cos.libutti@gmail.com
17
+ executables: []
18
+ extensions: []
19
+ extra_rdoc_files: []
20
+ files:
21
+ - lib/pollution.rb
22
+ homepage: https://rubygems.org/gems/example
23
+ licenses:
24
+ - MIT
25
+ metadata:
26
+ source_code_uri: https://github.com/example/example
27
+ api_docs: https://aqicn.org/json-api/doc/
28
+ post_install_message:
29
+ rdoc_options: []
30
+ require_paths:
31
+ - lib
32
+ required_ruby_version: !ruby/object:Gem::Requirement
33
+ requirements:
34
+ - - ">="
35
+ - !ruby/object:Gem::Version
36
+ version: '0'
37
+ required_rubygems_version: !ruby/object:Gem::Requirement
38
+ requirements:
39
+ - - ">="
40
+ - !ruby/object:Gem::Version
41
+ version: '0'
42
+ requirements: []
43
+ rubygems_version: 3.0.3
44
+ signing_key:
45
+ specification_version: 4
46
+ summary: Simple wrapper for the Air Pollution API
47
+ test_files: []