kovid 0.6.15 โ†’ 0.7.0

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: d6cedbd1aa526ce6960c995100e849b0b9999376745df43c8943544792745c9c
4
- data.tar.gz: 04547efd43c6c64d85861ed0e6d783fb4e89e03afd022167973e99812a8482ba
3
+ metadata.gz: acb8468524e33ff58574c2910dd1af5682b2e6bdd8d0fe61c4d497156fe4ff17
4
+ data.tar.gz: 58f2430edf6b6cc104c815761205fa2b0532e7fe133af7fe114b6d7608651b69
5
5
  SHA512:
6
- metadata.gz: 24c2ec47c8240fbdb7d1f7c5bcc8989d6eaa9f0fb3648decd612004cec192d2740d9308364ee7cd638a0b8591920f34989cfff7743df24bfe8c505f983306998
7
- data.tar.gz: e58d5269006cbca2feb2ebdfd88522920162d82cede3fcd3c585f7d1c9163af4cc38f2f76aa78931565ce3718fc0c15825d1eaf7e14e415bfd2d292e4adb5ab5
6
+ metadata.gz: d91ac4ad0e990714c8fdd5ac8ced650abdb6c22525c8a61a9b8b089d027c7991cf4629dc03aff77f934d412db561065ed8cdc2dff4b7b86b9b07b38e523e7c11
7
+ data.tar.gz: b60f261d152aa46784ee6eacafacd59aeae8906637ccf76721e166e49632680c23aed6d61642487037295f49ea02adb4c8189aa08bf7b919b277caec35016d55
data/Gemfile.lock CHANGED
@@ -1,8 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- kovid (0.6.14)
5
- carmen (~> 1.1.3)
4
+ kovid (0.7.0)
6
5
  rainbow (~> 3.0)
7
6
  terminal-table (~> 1.8)
8
7
  thor (~> 1.0)
@@ -11,24 +10,12 @@ PATH
11
10
  GEM
12
11
  remote: https://rubygems.org/
13
12
  specs:
14
- activesupport (6.0.3.1)
15
- concurrent-ruby (~> 1.0, >= 1.0.2)
16
- i18n (>= 0.7, < 2)
17
- minitest (~> 5.1)
18
- tzinfo (~> 1.1)
19
- zeitwerk (~> 2.2, >= 2.2.2)
20
- carmen (1.1.3)
21
- activesupport (>= 3.0.0)
22
- concurrent-ruby (1.1.6)
23
13
  diff-lcs (1.3)
24
14
  docile (1.3.2)
25
- ethon (0.12.0)
26
- ffi (>= 1.3.0)
27
- ffi (1.13.0)
28
- i18n (1.8.3)
29
- concurrent-ruby (~> 1.0)
30
- minitest (5.14.1)
31
- rainbow (3.0.0)
15
+ ethon (0.15.0)
16
+ ffi (>= 1.15.0)
17
+ ffi (1.15.5)
18
+ rainbow (3.1.1)
32
19
  rake (12.3.3)
33
20
  rspec (3.9.0)
34
21
  rspec-core (~> 3.9.0)
@@ -49,14 +36,10 @@ GEM
49
36
  simplecov-html (0.12.2)
50
37
  terminal-table (1.8.0)
51
38
  unicode-display_width (~> 1.1, >= 1.1.1)
52
- thor (1.0.1)
53
- thread_safe (0.3.6)
39
+ thor (1.2.1)
54
40
  typhoeus (1.4.0)
55
41
  ethon (>= 0.9.0)
56
- tzinfo (1.2.7)
57
- thread_safe (~> 0.1)
58
- unicode-display_width (1.7.0)
59
- zeitwerk (2.3.0)
42
+ unicode-display_width (1.8.0)
60
43
 
61
44
  PLATFORMS
62
45
  ruby
@@ -68,4 +51,4 @@ DEPENDENCIES
68
51
  simplecov (~> 0.18)
69
52
 
70
53
  BUNDLED WITH
71
- 2.1.4
54
+ 2.3.9
data/README.md CHANGED
@@ -85,10 +85,6 @@ ___
85
85
 
86
86
  **NOTE:** If you find it irritating to have to type `kovid state STATE`, `covid state STATE` works as well.
87
87
 
88
- #### Histogram (Experimental) ๐Ÿงช
89
-
90
- `kovid histogram COUNTRY M.YY` (draws a histogram of cases in the given month `M` and years `YY`)
91
- (If the histogram appears messy, you might want to resize your window.)
92
88
 
93
89
  #### Commands Details
94
90
  To fetch basic data on a country run:
@@ -171,12 +167,6 @@ To fetch more number of countries or US states you can pass N. eg:
171
167
 
172
168
  ![kovid](https://i.gyazo.com/64663ff25c1ff61701e84871948640f4.png "Covid data.")
173
169
 
174
- ## ๐Ÿ‘ฉ๐Ÿพโ€๐Ÿ”ฌ Experimental Feature
175
-
176
- `kovid histogram italy 3.20` tries to build a histogram on number of cases. In the example here `3.20` is date in the format of `M.YY`. If you can please play with it and report issues on how this could be improved.
177
-
178
- ![kovid](https://i.gyazo.com/35833cba37be8ca10830fad066b85bb3.png "Covid data.")
179
-
180
170
 
181
171
  ## Data Source
182
172
  > [JHU CSSE GISand Data](https://gisanddata.maps.arcgis.com/apps/opsdashboard/index.html#/bda7594740fd40299423467b48e9ecf6) and https://www.worldometers.info/coronavirus/ via [NovelCOVID/API](https://github.com/novelcovid/api)
data/kovid.gemspec CHANGED
@@ -22,7 +22,6 @@ Gem::Specification.new do |spec|
22
22
  spec.metadata['source_code_uri'] = 'https://github.com/siaw23/kovid'
23
23
  spec.metadata['changelog_uri'] = 'https://github.com/siaw23/kovid'
24
24
 
25
- spec.add_dependency 'carmen', '~> 1.1.3'
26
25
  spec.add_dependency 'rainbow', '~> 3.0'
27
26
  spec.add_dependency 'terminal-table', '~> 1.8'
28
27
  spec.add_dependency 'thor', '~> 1.0'
@@ -40,23 +39,4 @@ Gem::Specification.new do |spec|
40
39
  spec.bindir = 'exe'
41
40
  spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
42
41
  spec.require_paths = ['lib']
43
-
44
- spec.post_install_message = "
45
- ============================================================================
46
- COVID-19 has devasted the world. While we're fighting
47
- with the novel coronavirus, I think stats on the issue should be
48
- accessible.
49
-
50
- There isn't much we can do now besides following procedures and hoping
51
- for the best.
52
-
53
- Stay safe!
54
- Emmanuel Hayford.
55
- https://emmanuelhayford.com
56
-
57
- PS: I'm in search of a Rails/Ruby job.
58
-
59
- You can hire me (siawmensah@gmail.com).
60
- ============================================================================
61
- "
62
42
  end
@@ -127,5 +127,63 @@ module Kovid
127
127
  compare_us_states: [1, 2, 3, 4, 5],
128
128
  compare_provinces: [1, 2, 3]
129
129
  }.freeze
130
+
131
+ USA_ABBREVIATIONS = {
132
+ "al" => "Alabama",
133
+ "ak" => "Alaska",
134
+ "az" => "Arizona",
135
+ "ar" => "Arkansas",
136
+ "ca" => "California",
137
+ "cz" => "Canal Zone",
138
+ "co" => "Colorado",
139
+ "ct" => "Connecticut",
140
+ "de" => "Delaware",
141
+ "dc" => "District of Columbia",
142
+ "fl" => "Florida",
143
+ "ga" => "Georgia",
144
+ "gu" => "Guam",
145
+ "hi" => "Hawaii",
146
+ "id" => "Idaho",
147
+ "il" => "Illinois",
148
+ "in" => "Indiana",
149
+ "ia" => "Iowa",
150
+ "ks" => "Kansas",
151
+ "ky" => "Kentucky",
152
+ "la" => "Louisiana",
153
+ "me" => "Maine",
154
+ "md" => "Maryland",
155
+ "ma" => "Massachusetts",
156
+ "mi" => "Michigan",
157
+ "mn" => "Minnesota",
158
+ "ms" => "Mississippi",
159
+ "mo" => "Missouri",
160
+ "mt" => "Montana",
161
+ "ne" => "Nebraska",
162
+ "nv" => "Nevada",
163
+ "nh" => "New Hampshire",
164
+ "nj" => "New Jersey",
165
+ "nm" => "New Mexico",
166
+ "ny" => "New York",
167
+ "nc" => "North Carolina",
168
+ "nd" => "North Dakota",
169
+ "oh" => "Ohio",
170
+ "ok" => "Oklahoma",
171
+ "or" => "Oregon",
172
+ "pa" => "Pennsylvania",
173
+ "pr" => "Puerto Rico",
174
+ "ri" => "Rhode Island",
175
+ "sc" => "South Carolina",
176
+ "sd" => "South Dakota",
177
+ "tn" => "Tennessee",
178
+ "tx" => "Texas",
179
+ "ut" => "Utah",
180
+ "vt" => "Vermont",
181
+ "vi" => "Virgin Islands",
182
+ "va" => "Virginia",
183
+ "wa" => "Washington",
184
+ "wv" => "West Virginia",
185
+ "wi" => "Wisconsin",
186
+ "wy" => "Wyoming"
187
+ }
130
188
  end
131
189
  end
data/lib/kovid/helpers.rb CHANGED
@@ -26,8 +26,6 @@ module Kovid
26
26
  end
27
27
 
28
28
  def lookup_us_state(state)
29
- us = Carmen::Country.coded('USA')
30
- lookup = us.subregions.coded(state) || us.subregions.named(state)
31
- lookup ? lookup.name : state
29
+ Kovid::Constants::USA_ABBREVIATIONS.fetch(state.downcase, state)
32
30
  end
33
31
  end
@@ -14,7 +14,7 @@ module Kovid
14
14
  end
15
15
 
16
16
  Terminal::Table.new(
17
- title: data['country'].try(:upcase),
17
+ title: data['country']&.upcase,
18
18
  headings: DATE_CASES_DEATHS_RECOVERED,
19
19
  rows: rows
20
20
  )
@@ -29,7 +29,7 @@ module Kovid
29
29
  end
30
30
 
31
31
  Terminal::Table.new(
32
- title: data['state'].try(:upcase),
32
+ title: data['state']&.upcase,
33
33
  headings: DATE_CASES_DEATHS,
34
34
  rows: rows
35
35
  )
data/lib/kovid/request.rb CHANGED
@@ -1,7 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  require 'json'
4
- require 'carmen'
4
+ require 'erb'
5
5
  require_relative 'tablelize'
6
6
  require_relative 'cache'
7
7
  require_relative 'uri_builder'
@@ -266,7 +266,7 @@ module Kovid
266
266
  def fetch_country(country_name)
267
267
  # TODO: Match ISOs to full country names
268
268
  country_name = 'nl' if country_name == 'netherlands'
269
- country_url = COUNTRIES_PATH + "/#{country_name}"
269
+ country_url = COUNTRIES_PATH + "/#{ERB::Util.url_encode(country_name)}"
270
270
 
271
271
  JSON.parse(Typhoeus.get(country_url, cache_ttl: 900).response_body)
272
272
  end
@@ -301,7 +301,7 @@ module Kovid
301
301
  def fetch_history(country)
302
302
  JSON.parse(
303
303
  Typhoeus.get(
304
- HISTORICAL_URL + "/#{country}", cache_ttl: 900
304
+ HISTORICAL_URL + "/#{ERB::Util.url_encode(country)}", cache_ttl: 900
305
305
  ).response_body
306
306
  )
307
307
  end
@@ -309,7 +309,7 @@ module Kovid
309
309
  def fetch_us_history(state)
310
310
  JSON.parse(
311
311
  Typhoeus.get(
312
- HISTORICAL_US_URL + "/#{state}", cache_ttl: 900
312
+ HISTORICAL_US_URL + "/#{ERB::Util.url_encode(state)}", cache_ttl: 900
313
313
  ).response_body
314
314
  )
315
315
  end
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.6.15'
4
+ VERSION = '0.7.0'
5
5
  end
metadata CHANGED
@@ -1,29 +1,15 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: kovid
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.6.15
4
+ version: 0.7.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Emmanuel Hayford
8
- autorequire:
8
+ autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2020-06-06 00:00:00.000000000 Z
11
+ date: 2022-03-21 00:00:00.000000000 Z
12
12
  dependencies:
13
- - !ruby/object:Gem::Dependency
14
- name: carmen
15
- requirement: !ruby/object:Gem::Requirement
16
- requirements:
17
- - - "~>"
18
- - !ruby/object:Gem::Version
19
- version: 1.1.3
20
- type: :runtime
21
- prerelease: false
22
- version_requirements: !ruby/object:Gem::Requirement
23
- requirements:
24
- - - "~>"
25
- - !ruby/object:Gem::Version
26
- version: 1.1.3
27
13
  - !ruby/object:Gem::Dependency
28
14
  name: rainbow
29
15
  requirement: !ruby/object:Gem::Requirement
@@ -140,14 +126,7 @@ metadata:
140
126
  homepage_uri: https://github.com/siaw23/kovid
141
127
  source_code_uri: https://github.com/siaw23/kovid
142
128
  changelog_uri: https://github.com/siaw23/kovid
143
- post_install_message: "\n ============================================================================\n
144
- \ COVID-19 has devasted the world. While we're fighting\n with the novel
145
- coronavirus, I think stats on the issue should be\n accessible.\n\n There
146
- isn't much we can do now besides following procedures and hoping\n for the
147
- best.\n\n Stay safe!\n Emmanuel Hayford.\n https://emmanuelhayford.com\n\n
148
- \ PS: I'm in search of a Rails/Ruby job.\n\n You can hire me (siawmensah@gmail.com).\n
149
- \ ============================================================================\n
150
- \ "
129
+ post_install_message:
151
130
  rdoc_options: []
152
131
  require_paths:
153
132
  - lib
@@ -162,8 +141,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
162
141
  - !ruby/object:Gem::Version
163
142
  version: '0'
164
143
  requirements: []
165
- rubygems_version: 3.1.2
166
- signing_key:
144
+ rubygems_version: 3.0.9
145
+ signing_key:
167
146
  specification_version: 4
168
147
  summary: A CLI to fetch and compare the 2019 coronavirus pandemic statistics.
169
148
  test_files: []