kovid 0.3.12 → 0.3.13

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 15469959cec60e617e6e70a27e17d09ba8fe2d13b916d72e7c22f6c89ab411b3
4
- data.tar.gz: 035a0d32a2d9f1e01427c23caf6590503e6f3b97edfd0f8be18b580272d26ba8
3
+ metadata.gz: 56eeb79f768cff4c007129a7b4a085d9f356c637122d8f3dd51aa927ed4d4c3c
4
+ data.tar.gz: 76f27f3a84fbb91ef7dab5f08e859f4ecf53dc0d9287c39969f3300cd8b966a4
5
5
  SHA512:
6
- metadata.gz: 0e133029a534af7db795e26ab52db83d13518eb0f835e8124303be0c0ab2c017b1f5e043a188b648c83e46e1a7e0066c5d6b2547b1249b0bb9952d57cf54728f
7
- data.tar.gz: fea6d841df79b936c77fb6299155fda183a530b3f94c03b85f398f543eaf709a04841d2ff656a1b0f5e6674f2cf41b93ef6e72b50fad7579372940118dda4131
6
+ metadata.gz: 533436702c4980deef2082f66a9639d1ff9d6813b4cf5872f328533624257fbdcf695574e938d52c05867c8f1fd133be76c1c0e2ea1e3066319b7d2956bb844d
7
+ data.tar.gz: cbaf6fa830834bbef006783fc0b6a47c979a5a28a5fbc1a9486b6c5facd38a65148fe6c4e8d690898c052338a304aabdf9693e6b0508c371166224fea6c6299f
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- kovid (0.3.11)
4
+ kovid (0.3.12)
5
5
  rainbow (~> 3.0)
6
6
  terminal-table (~> 1.8)
7
7
  thor (~> 1.0)
data/kovid.gemspec CHANGED
@@ -54,6 +54,8 @@ Gem::Specification.new do |spec|
54
54
  Data Sources:
55
55
  * JHU CSSE GISand Data
56
56
  * https://www.worldometers.info/coronavirus/
57
+
58
+ PS: Please update often, contribute code/ideas, report issues 🙏.
57
59
  ============================================================================
58
60
  }
59
61
  end
data/lib/kovid/cli.rb CHANGED
@@ -7,12 +7,6 @@ module Kovid
7
7
  class CLI < Thor
8
8
  FULL_FLAG = %w[-f --full].freeze
9
9
 
10
- desc 'eu', 'Returns aggregated data on the EU.'
11
- def eu
12
- puts Kovid.eu_aggregate
13
- data_source
14
- end
15
-
16
10
  desc 'check COUNTRY or check "COUNTRY NAME"', 'Returns reported data on provided country. eg: "kovid check "hong kong".'
17
11
  method_option :full, aliases: '-f'
18
12
  def check(name)
@@ -59,6 +53,12 @@ module Kovid
59
53
  data_source
60
54
  end
61
55
 
56
+ desc 'eu', 'Returns aggregated data on the EU.'
57
+ def eu
58
+ puts Kovid.eu_aggregate
59
+ data_source
60
+ end
61
+
62
62
  private
63
63
 
64
64
  def fetch_country_stats(country)
@@ -74,7 +74,6 @@ module Kovid
74
74
  Sources:
75
75
  * JHU CSSE GISand Data
76
76
  * https://www.worldometers.info/coronavirus/
77
- Please update often, contribute, report issues 🙏.
78
77
  TEXT
79
78
  puts source
80
79
  puts
data/lib/kovid/request.rb CHANGED
@@ -33,17 +33,21 @@ module Kovid
33
33
  def by_country(country_name)
34
34
  response = fetch_country(country_name)
35
35
 
36
- Kovid::Tablelize.country_table(response)
37
- rescue JSON::ParserError
38
- no_case_in(country_name)
36
+ if response.values.first.include?('not found')
37
+ not_found(country_name)
38
+ else
39
+ Kovid::Tablelize.country_table(response)
40
+ end
39
41
  end
40
42
 
41
43
  def by_country_full(country_name)
42
44
  response = fetch_country(country_name)
43
45
 
44
- Kovid::Tablelize.full_country_table(response)
45
- rescue JSON::ParserError
46
- no_case_in(country_name)
46
+ if response.values.first.include?('not found')
47
+ not_found(country_name)
48
+ else
49
+ Kovid::Tablelize.full_country_table(response)
50
+ end
47
51
  end
48
52
 
49
53
  def state(state)
@@ -77,8 +81,8 @@ module Kovid
77
81
 
78
82
  private
79
83
 
80
- def no_case_in(country)
81
- rows = [["Wrong spelling of location/API has no info on #{country.upcase} at the moment."]]
84
+ def not_found(country)
85
+ rows = [["Wrong spelling/No reported cases on #{country.upcase}."]]
82
86
  Terminal::Table.new title: "You checked: #{country.upcase}", rows: rows
83
87
  end
84
88
 
@@ -10,7 +10,9 @@ module Kovid
10
10
  CASES_DEATHS_RECOVERED = [
11
11
  'Cases'.paint_white,
12
12
  'Deaths'.paint_red,
13
- 'Recovered'.paint_green
13
+ 'Recovered'.paint_green,
14
+ 'Cases Today'.paint_white,
15
+ 'Deaths Today'.paint_red
14
16
  ].freeze
15
17
 
16
18
  DATE_CASES_DEATHS = [
@@ -34,7 +36,17 @@ module Kovid
34
36
 
35
37
  def country_table(data)
36
38
  headings = CASES_DEATHS_RECOVERED
37
- rows = [[data['cases'], data['deaths'], data['recovered']]]
39
+ rows = [
40
+ [
41
+ data['cases'],
42
+ data['deaths'],
43
+ data['recovered'],
44
+ check_if_positve(data['todayCases']),
45
+ check_if_positve(data['todayDeaths'])
46
+ ]
47
+ ]
48
+
49
+ # binding.irb
38
50
 
39
51
  if iso = data['countryInfo']['iso2']
40
52
  Terminal::Table.new(title: data['country'].upcase.to_s, headings: headings, rows: rows)
@@ -99,13 +111,22 @@ module Kovid
99
111
  'Country'.paint_white,
100
112
  'Cases'.paint_white,
101
113
  'Deaths'.paint_red,
102
- 'Recovered'.paint_green
114
+ 'Recovered'.paint_green,
115
+ 'Cases Today'.paint_white,
116
+ 'Deaths Today'.paint_red
103
117
  ]
104
118
 
105
119
  rows = []
106
120
 
107
121
  data.each do |country|
108
- rows << [country['country'].upcase, comma_delimit(country['cases']), comma_delimit(country['deaths']), comma_delimit(country['recovered'])]
122
+ rows << [
123
+ country['country'].upcase,
124
+ comma_delimit(country['cases']),
125
+ comma_delimit(country['deaths']),
126
+ comma_delimit(country['recovered']),
127
+ check_if_positve(country['todayCases']),
128
+ check_if_positve(country['todayDeaths'])
129
+ ]
109
130
  end
110
131
 
111
132
  Terminal::Table.new(headings: headings, rows: rows)
data/lib/kovid/version.rb CHANGED
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Kovid
4
- VERSION = '0.3.12'
4
+ VERSION = '0.3.13'
5
5
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: kovid
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.12
4
+ version: 0.3.13
5
5
  platform: ruby
6
6
  authors:
7
7
  - Emmanuel Hayford
@@ -126,7 +126,8 @@ post_install_message: "\n ===================================================
126
126
  \ * Limiting our movements, how much we touch our faces & social distancing.\n
127
127
  \ * Disinfecting our phones, keys, doorknobs, keyboards, etc.\n * Being
128
128
  there for each other.\n\n Stay safe!\n Emmanuel Hayford.\n https://emmanuelhayford.com/\n\n
129
- \ Data Sources:\n * JHU CSSE GISand Data\n * https://www.worldometers.info/coronavirus/\n
129
+ \ Data Sources:\n * JHU CSSE GISand Data\n * https://www.worldometers.info/coronavirus/\n\n
130
+ \ PS: Please update often, contribute code/ideas, report issues \U0001F64F.\n
130
131
  \ ============================================================================\n
131
132
  \ "
132
133
  rdoc_options: []