covid19_api 0.0.3
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 +7 -0
- data/lib/covid19.rb +98 -0
- metadata +84 -0
checksums.yaml
ADDED
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
---
|
|
2
|
+
SHA256:
|
|
3
|
+
metadata.gz: 4ac8668b1302fd59c339ad4c093b57947fa83758c2492c0e185046e8d531b66e
|
|
4
|
+
data.tar.gz: ae094b9fad8d9baed79b44c3ea0cdb27d293e7a4f372fc4cdf01fe059b02ea7f
|
|
5
|
+
SHA512:
|
|
6
|
+
metadata.gz: 0e919a0dab436ea1fd8907496520fdd7d009d11f062af077c3499962f16e953a190148a0f08af17ba453b03b97683fefec9e921a58a1db7ece7934485c863272
|
|
7
|
+
data.tar.gz: 413d78b0f56c179d1255610e1246ff1374d366f3b9d0d95e9fe56f3cb2b6a7e942bbbc5f6da3da506bf69711848c0ee9c42d6953e5bfe90a4e401da43ed30522
|
data/lib/covid19.rb
ADDED
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
require 'http'
|
|
4
|
+
|
|
5
|
+
# Ruby wrapper for https://covid19api.com/.
|
|
6
|
+
class Covid19
|
|
7
|
+
BASE_URL = 'https://api.covid19api.com'.freeze
|
|
8
|
+
STATUSES = %w[confirmed recovered deaths].freeze
|
|
9
|
+
|
|
10
|
+
class << self
|
|
11
|
+
def info
|
|
12
|
+
serve_request('')
|
|
13
|
+
end
|
|
14
|
+
|
|
15
|
+
# Warning: returns 10MB of data - use with caution.
|
|
16
|
+
def all
|
|
17
|
+
serve_request('all')
|
|
18
|
+
end
|
|
19
|
+
|
|
20
|
+
def stats
|
|
21
|
+
serve_request('stats')
|
|
22
|
+
end
|
|
23
|
+
|
|
24
|
+
def summary
|
|
25
|
+
serve_request('summary')
|
|
26
|
+
end
|
|
27
|
+
|
|
28
|
+
def countries
|
|
29
|
+
serve_request('countries')
|
|
30
|
+
end
|
|
31
|
+
|
|
32
|
+
def cases_by_day_one(country, status)
|
|
33
|
+
return invalid_status_msg(status) unless valid_status?(status)
|
|
34
|
+
|
|
35
|
+
serve_request("/dayone/country/#{country}/status/#{status}")
|
|
36
|
+
end
|
|
37
|
+
|
|
38
|
+
def cases_by_day_one_live(country, status)
|
|
39
|
+
return invalid_status_msg(status) unless valid_status?(status)
|
|
40
|
+
|
|
41
|
+
serve_request("/dayone/country/#{country}/status/#{status}/live")
|
|
42
|
+
end
|
|
43
|
+
|
|
44
|
+
def cases_by_day_one_total(country, status)
|
|
45
|
+
serve_request("/total/dayone/country/#{country}/status/#{status}")
|
|
46
|
+
end
|
|
47
|
+
|
|
48
|
+
def cases_by_country(country, status)
|
|
49
|
+
return invalid_status_msg(status) unless valid_status?(status)
|
|
50
|
+
|
|
51
|
+
serve_request("/country/#{country}/status/#{status}")
|
|
52
|
+
end
|
|
53
|
+
|
|
54
|
+
def cases_by_country_live(country, status)
|
|
55
|
+
return invalid_status_msg(status) unless valid_status?(status)
|
|
56
|
+
|
|
57
|
+
serve_request("/country/#{country}/status/#{status}/live")
|
|
58
|
+
end
|
|
59
|
+
|
|
60
|
+
def cases_by_country_total(country, status)
|
|
61
|
+
return invalid_status_msg(status) unless valid_status?(status)
|
|
62
|
+
|
|
63
|
+
serve_request("/total/country/#{country}/status/#{status}")
|
|
64
|
+
end
|
|
65
|
+
|
|
66
|
+
def cases_live_by_country_and_status(country, status)
|
|
67
|
+
return invalid_status_msg(status) unless valid_status?(status)
|
|
68
|
+
|
|
69
|
+
serve_request("/live/country/#{country}/status/#{status}")
|
|
70
|
+
end
|
|
71
|
+
|
|
72
|
+
def cases_live_by_country_after_date(
|
|
73
|
+
country,
|
|
74
|
+
status,
|
|
75
|
+
date = (DateTime.now - 1).to_s
|
|
76
|
+
)
|
|
77
|
+
return invalid_status_msg(status) unless valid_status?(status)
|
|
78
|
+
|
|
79
|
+
serve_request("/live/country/#{country}/status/#{status}/date/#{date}")
|
|
80
|
+
end
|
|
81
|
+
|
|
82
|
+
private
|
|
83
|
+
|
|
84
|
+
def serve_request(suffix)
|
|
85
|
+
response = HTTP.get("#{BASE_URL}/#{suffix}")
|
|
86
|
+
JSON.parse(response)
|
|
87
|
+
end
|
|
88
|
+
|
|
89
|
+
def valid_status?(status)
|
|
90
|
+
STATUSES.include?(status.downcase)
|
|
91
|
+
end
|
|
92
|
+
|
|
93
|
+
def invalid_status_msg(status)
|
|
94
|
+
"Invalid status \"#{status.downcase}\"." \
|
|
95
|
+
"Please provide one of the following statuses: #{STATUSES.join(', ')}"
|
|
96
|
+
end
|
|
97
|
+
end
|
|
98
|
+
end
|
metadata
ADDED
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
|
2
|
+
name: covid19_api
|
|
3
|
+
version: !ruby/object:Gem::Version
|
|
4
|
+
version: 0.0.3
|
|
5
|
+
platform: ruby
|
|
6
|
+
authors:
|
|
7
|
+
- Conor Broderick
|
|
8
|
+
autorequire:
|
|
9
|
+
bindir: bin
|
|
10
|
+
cert_chain: []
|
|
11
|
+
date: 2020-03-31 00:00:00.000000000 Z
|
|
12
|
+
dependencies:
|
|
13
|
+
- !ruby/object:Gem::Dependency
|
|
14
|
+
name: http
|
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
|
16
|
+
requirements:
|
|
17
|
+
- - "~>"
|
|
18
|
+
- !ruby/object:Gem::Version
|
|
19
|
+
version: '4.4'
|
|
20
|
+
- - ">="
|
|
21
|
+
- !ruby/object:Gem::Version
|
|
22
|
+
version: 4.4.1
|
|
23
|
+
type: :runtime
|
|
24
|
+
prerelease: false
|
|
25
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
26
|
+
requirements:
|
|
27
|
+
- - "~>"
|
|
28
|
+
- !ruby/object:Gem::Version
|
|
29
|
+
version: '4.4'
|
|
30
|
+
- - ">="
|
|
31
|
+
- !ruby/object:Gem::Version
|
|
32
|
+
version: 4.4.1
|
|
33
|
+
- !ruby/object:Gem::Dependency
|
|
34
|
+
name: rspec
|
|
35
|
+
requirement: !ruby/object:Gem::Requirement
|
|
36
|
+
requirements:
|
|
37
|
+
- - "~>"
|
|
38
|
+
- !ruby/object:Gem::Version
|
|
39
|
+
version: '3.9'
|
|
40
|
+
- - '='
|
|
41
|
+
- !ruby/object:Gem::Version
|
|
42
|
+
version: 3.9.0
|
|
43
|
+
type: :development
|
|
44
|
+
prerelease: false
|
|
45
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
46
|
+
requirements:
|
|
47
|
+
- - "~>"
|
|
48
|
+
- !ruby/object:Gem::Version
|
|
49
|
+
version: '3.9'
|
|
50
|
+
- - '='
|
|
51
|
+
- !ruby/object:Gem::Version
|
|
52
|
+
version: 3.9.0
|
|
53
|
+
description: Ruby wrapper for https://covid19api.com/
|
|
54
|
+
email: cjayjayb@gmail.com
|
|
55
|
+
executables: []
|
|
56
|
+
extensions: []
|
|
57
|
+
extra_rdoc_files: []
|
|
58
|
+
files:
|
|
59
|
+
- lib/covid19.rb
|
|
60
|
+
homepage: https://github.com/covoid19-api-ruby-wrapper
|
|
61
|
+
licenses:
|
|
62
|
+
- MIT
|
|
63
|
+
metadata: {}
|
|
64
|
+
post_install_message:
|
|
65
|
+
rdoc_options: []
|
|
66
|
+
require_paths:
|
|
67
|
+
- lib
|
|
68
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
|
69
|
+
requirements:
|
|
70
|
+
- - ">="
|
|
71
|
+
- !ruby/object:Gem::Version
|
|
72
|
+
version: '0'
|
|
73
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
74
|
+
requirements:
|
|
75
|
+
- - ">="
|
|
76
|
+
- !ruby/object:Gem::Version
|
|
77
|
+
version: '0'
|
|
78
|
+
requirements: []
|
|
79
|
+
rubyforge_project:
|
|
80
|
+
rubygems_version: 2.7.3
|
|
81
|
+
signing_key:
|
|
82
|
+
specification_version: 4
|
|
83
|
+
summary: COVID19 API ruby wrapper
|
|
84
|
+
test_files: []
|