kovid 0.3.2 β 0.3.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 +4 -4
- data/Gemfile.lock +1 -1
- data/README.md +11 -0
- data/lib/kovid.rb +2 -2
- data/lib/kovid/cli.rb +6 -3
- data/lib/kovid/request.rb +17 -0
- data/lib/kovid/tablelize.rb +10 -0
- data/lib/kovid/version.rb +1 -1
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 9f04b3f270cae0450368cdffa483d4968dfe6e260a19f4ff244dda25765fba32
|
4
|
+
data.tar.gz: f9381a8141630f18888ec65ced2c352eee1ddd7cd79c131e839fc77e1d4c9255
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: b09ebeaa677af45d87d3c37f347caaa9668d95e4c4d67c4462c68143b0dbe1c820faf1e50607acf0460d9acc88abc59958aa8390b1f88396c2ed127dac830fb9
|
7
|
+
data.tar.gz: 7c8a93f91fa8cc64e55cbb2ea055f2d5edc902dd7a5b1d984e0f5a76e967eaa3c239f63fc7f25d13cce4e22cb4e9e288c53ba8752a5bb5ebf41d39f5cdaca5fe
|
data/Gemfile.lock
CHANGED
data/README.md
CHANGED
@@ -24,6 +24,11 @@ You can run `kovid --help` to see the full list of available commands.
|
|
24
24
|
* `kovid check COUNTRY` OR `kovid country COUNTRY`.
|
25
25
|
* `kovid check COUNTRY -f` OR `kovid check COUNTRY --full`.
|
26
26
|
|
27
|
+
πͺπΊπͺπΊπͺπΊ
|
28
|
+
|
29
|
+
You can fetch aggregated EU (all 27 countries combined) data:
|
30
|
+
* `kovid eu`.
|
31
|
+
|
27
32
|
πΊπΈπΊπΈπΊπΈ
|
28
33
|
|
29
34
|
You can fetch US state-specific data:
|
@@ -77,6 +82,12 @@ To fetch state-specific data run:
|
|
77
82
|
|
78
83
|

|
79
84
|
|
85
|
+
To fetch EU data run:
|
86
|
+
|
87
|
+
`kovid eu`
|
88
|
+
|
89
|
+

|
90
|
+
|
80
91
|
You can check historical statistics by running
|
81
92
|
|
82
93
|
`kovid history italy 7` eg:
|
data/lib/kovid.rb
CHANGED
@@ -8,8 +8,8 @@ module Kovid
|
|
8
8
|
|
9
9
|
module_function
|
10
10
|
|
11
|
-
def
|
12
|
-
|
11
|
+
def eu_aggregate
|
12
|
+
Kovid::Request.eu_aggregate
|
13
13
|
end
|
14
14
|
|
15
15
|
def country(name)
|
data/lib/kovid/cli.rb
CHANGED
@@ -3,13 +3,16 @@
|
|
3
3
|
require 'thor'
|
4
4
|
require 'kovid'
|
5
5
|
|
6
|
+
# ["AT", "BE", "BG", "CY", "CZ", "DE", "DK", "EE", "ES", "FI", "FR", "GR", "HR", "HU", "IE", "IT", "LT", "LU", "LV", "MT", "NL", "PL", "PT", "RO", "SE", "SI", "SK"]
|
7
|
+
|
8
|
+
# Czechia has no code
|
6
9
|
module Kovid
|
7
10
|
class CLI < Thor
|
8
11
|
FULL_FLAG = %w[-f --full].freeze
|
9
12
|
|
10
|
-
desc '
|
11
|
-
def
|
12
|
-
puts Kovid.
|
13
|
+
desc 'check EU', 'Returns aggregated data on the EU.'
|
14
|
+
def eu
|
15
|
+
puts Kovid.eu_aggregate
|
13
16
|
end
|
14
17
|
|
15
18
|
desc 'check COUNTRY or check "COUNTRY NAME"', 'Returns reported data on provided country. eg: "kovid check "hong kong".'
|
data/lib/kovid/request.rb
CHANGED
@@ -9,8 +9,25 @@ module Kovid
|
|
9
9
|
class Request
|
10
10
|
COUNTRIES_PATH = UriBuilder.new('/countries').url
|
11
11
|
STATES_URL = UriBuilder.new('/states').url
|
12
|
+
EU_ISOS = %w[AT BE BG CY CZ DE DK EE ES FI FR GR HR HU IE IT LT LU LV MT NL PL PT RO SE SI SK].freeze
|
12
13
|
|
13
14
|
class << self
|
15
|
+
def eu_aggregate
|
16
|
+
countries_array = JSON.parse(Typhoeus.get(UriBuilder.new('/countries').url, cache_ttl: 900).response_body)
|
17
|
+
|
18
|
+
eu_array = countries_array.select do |hash|
|
19
|
+
EU_ISOS.include?(hash['countryInfo']['iso2']) || hash['country'] == 'Czechia'
|
20
|
+
# Check API later to see if ISO-Alpha-2 code has been added for Czechia
|
21
|
+
end
|
22
|
+
|
23
|
+
first, *rest = eu_array
|
24
|
+
eu_data = first.merge(*rest) do |key, left, right|
|
25
|
+
left + right unless %w[country countryInfo].include?(key)
|
26
|
+
end .compact
|
27
|
+
|
28
|
+
Kovid::Tablelize.eu_aggregate(eu_data)
|
29
|
+
end
|
30
|
+
|
14
31
|
def by_country(country_name)
|
15
32
|
response = fetch_country(country_name)
|
16
33
|
|
data/lib/kovid/tablelize.rb
CHANGED
@@ -179,6 +179,16 @@ module Kovid
|
|
179
179
|
Terminal::Table.new(title: country['standardizedCountryName'].upcase, headings: headings, rows: rows)
|
180
180
|
end
|
181
181
|
|
182
|
+
def eu_aggregate(eu_data)
|
183
|
+
headings = ['Cases'.paint_white, 'Cases Today'.paint_white, 'Deaths'.paint_red, 'Deaths Today'.paint_red, 'Recovered'.paint_green, 'Active'.paint_yellow, 'Critical'.paint_green]
|
184
|
+
|
185
|
+
rows = []
|
186
|
+
|
187
|
+
rows << [comma_delimit(eu_data['cases']), check_if_positve(eu_data['todayCases']), comma_delimit(eu_data['deaths']), check_if_positve(eu_data['todayDeaths']), comma_delimit(eu_data['recovered']), comma_delimit(eu_data['active']), comma_delimit(eu_data['critical'])]
|
188
|
+
|
189
|
+
Terminal::Table.new(title: 'EU Aggragation'.upcase, headings: headings, rows: rows)
|
190
|
+
end
|
191
|
+
|
182
192
|
private
|
183
193
|
|
184
194
|
def comma_delimit(number)
|
data/lib/kovid/version.rb
CHANGED