kovid 0.3.16 โ†’ 0.4.4

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 844f3d8e6bb4b6c30e705931dacfdc3467d51d208bdcc97bed77f73c49c19dc3
4
- data.tar.gz: f3e5efa028566253ae1b9ad62dc156ed6d0830720546496990cef3e975398f5e
3
+ metadata.gz: e2bcf9cae235b902baf6388bd509cf8bb7b9445b2bac741713c6f1d60ca830fc
4
+ data.tar.gz: 91d40e2882577373c5336057dd3a235364b924e276550662bd806075f90e90cc
5
5
  SHA512:
6
- metadata.gz: dd4ca0b31ae864ddc9ed40029af2b3645e6bae7f3481fd88db07d1079708b26b4c9c2b89e73b4d63097c36d1274c7d1c9d033a896beeaf9811f43b19de55ba72
7
- data.tar.gz: 278aa54bed7b47537e278d85528bb12c1c73e1b7c1f8e991f647b03a033f5b7609add08e56e02bfd824f763c6e562649c86c5ce725fcec1be1fb41953993fb21
6
+ metadata.gz: be7fe0fe2d21b477994aa531636b0dde19b350ca3a53e3c985cbe13d9dee5285c32e580bc893877c05599290471aeb7835b5d8a520f1fd8f3ceb0cfae5f3eed6
7
+ data.tar.gz: 45d45c55e305c76a2393580965cecb39e5227e1d2a8bba8a1ac335524f5535eddd099e13096d2d58e204ee84b40933b27bc5c6fdcbd316154940349bfca5e335
data/Gemfile CHANGED
@@ -5,3 +5,5 @@ gemspec
5
5
 
6
6
  gem "rake", "~> 12.0"
7
7
  gem "rspec", "~> 3.0"
8
+
9
+
data/Gemfile.lock CHANGED
@@ -1,7 +1,8 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- kovid (0.3.15)
4
+ kovid (0.4.3)
5
+ ascii_charts (~> 0.9.1)
5
6
  rainbow (~> 3.0)
6
7
  terminal-table (~> 1.8)
7
8
  thor (~> 1.0)
@@ -10,6 +11,7 @@ PATH
10
11
  GEM
11
12
  remote: https://rubygems.org/
12
13
  specs:
14
+ ascii_charts (0.9.1)
13
15
  diff-lcs (1.3)
14
16
  docile (1.3.2)
15
17
  ethon (0.12.0)
data/README.md CHANGED
@@ -1,3 +1,7 @@
1
+ [![Gem Version](https://badge.fury.io/rb/kovid.svg)](https://badge.fury.io/rb/kovid)
2
+ [![Open Source Helpers](https://www.codetriage.com/siaw23/kovid/badges/users.svg)](https://www.codetriage.com/siaw23/kovid)
3
+
4
+
1
5
  # ๐Ÿฆ  Kovid
2
6
 
3
7
  Kovid is a small CLI app to fetch data surrounding the coronavirus pandemic of 2019. I found myself checking [Wikipedia](https://en.wikipedia.org/wiki/2019%E2%80%9320_coronavirus_pandemic) constantly for information so I thought I'd build this to provide info directly in the terminal. It's where some of us spend time more.
@@ -58,10 +62,14 @@ ___
58
62
  * `kovid history COUNTRY N` (history in the last N days).
59
63
  ___
60
64
  ๐Ÿ˜ท **Total figures**
61
- * `kovid cases` (summary of reported incidents globally).
65
+ * `kovid world` (summary of reported incidents globally).
62
66
 
63
67
  **NOTE:** If you find it irritating to have to type `kovid state STATE`, `covid state STATE` works as well.
64
68
 
69
+ #### Histogram (Experimental) ๐Ÿงช
70
+
71
+ `kovid histogram COUNTRY M.YY` (draws a histogram of cases in the given month `M` and years `YY`)
72
+
65
73
  #### Commands Details
66
74
  To fetch basic data on a country run:
67
75
 
@@ -107,11 +115,18 @@ You can check historical statistics by running
107
115
 
108
116
  To check for total figures:
109
117
 
110
- `kovid cases`
118
+ `kovid world`
111
119
 
112
120
  ![kovid](https://i.gyazo.com/e01f4769a2b9e31ce50cec212e55810c.png "Covid data.")
113
121
 
114
- ## Information Source
122
+ ## ๐Ÿ‘ฉ๐Ÿพโ€๐Ÿ”ฌ Experimental Feature
123
+
124
+ `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.
125
+
126
+ ![kovid](https://i.gyazo.com/35833cba37be8ca10830fad066b85bb3.png "Covid data.")
127
+
128
+
129
+ ## Data Source
115
130
  > [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)
116
131
 
117
132
 
data/kovid.gemspec CHANGED
@@ -22,6 +22,8 @@ Gem::Specification.new do |spec|
22
22
  spec.add_dependency "terminal-table", "~> 1.8"
23
23
  spec.add_dependency "typhoeus", "~> 1.3"
24
24
  spec.add_dependency "rainbow", "~> 3.0"
25
+ spec.add_dependency "ascii_charts", "~> 0.9.1"
26
+
25
27
 
26
28
  spec.add_development_dependency "simplecov", "~> 0.18"
27
29
 
data/lib/kovid.rb CHANGED
@@ -4,6 +4,8 @@ require 'kovid/version'
4
4
  require 'kovid/request'
5
5
 
6
6
  module Kovid
7
+ require 'kovid/helpers'
8
+
7
9
  class Error < StandardError; end
8
10
 
9
11
  module_function
@@ -24,8 +26,8 @@ module Kovid
24
26
  Kovid::Request.state(state)
25
27
  end
26
28
 
27
- def states(*_states)
28
- Kovid::Request.states(state)
29
+ def states(*states)
30
+ Kovid::Request.states(states)
29
31
  end
30
32
 
31
33
  def country_comparison(names_array)
@@ -43,4 +45,8 @@ module Kovid
43
45
  def history(country, last)
44
46
  Kovid::Request.history(country, last)
45
47
  end
48
+
49
+ def histogram(country, date)
50
+ Kovid::Request.histogram(country, date)
51
+ end
46
52
  end
data/lib/kovid/cli.rb CHANGED
@@ -37,8 +37,8 @@ module Kovid
37
37
  data_source
38
38
  end
39
39
 
40
- desc 'cases', 'Returns total number of cases, deaths and recoveries.'
41
- def cases
40
+ desc 'world', 'Returns total number of cases, deaths and recoveries.'
41
+ def world
42
42
  puts Kovid.cases
43
43
  data_source
44
44
  end
@@ -59,6 +59,21 @@ module Kovid
59
59
  data_source
60
60
  end
61
61
 
62
+ desc 'version', 'Returns version of kovid'
63
+ def version
64
+ puts Kovid::VERSION
65
+ end
66
+
67
+ desc 'histogram', 'Returns a histogram of incidents.'
68
+ def histogram(country, date = nil)
69
+ if date.nil?
70
+ Kovid.info_table("Please add a month and year in the form 'M.YY'")
71
+ else
72
+ puts Kovid.histogram(country, date)
73
+ data_source
74
+ end
75
+ end
76
+
62
77
  private
63
78
 
64
79
  def fetch_country_stats(country)
@@ -0,0 +1,11 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'terminal-table'
4
+ module Kovid
5
+ module_function
6
+
7
+ def info_table(message)
8
+ rows = [[message.to_s]]
9
+ puts Terminal::Table.new title: 'โ—๏ธ', rows: rows
10
+ end
11
+ end
data/lib/kovid/request.rb CHANGED
@@ -10,17 +10,18 @@ module Kovid
10
10
  COUNTRIES_PATH = UriBuilder.new('/countries').url
11
11
  STATES_URL = UriBuilder.new('/states').url
12
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
13
+ SERVER_DOWN = 'Server overwhelmed. Please try again in a moment.'
13
14
 
14
15
  class << self
15
16
  def eu_aggregate
16
17
  countries_array = JSON.parse(Typhoeus.get(UriBuilder.new('/countries').url, cache_ttl: 900).response_body)
17
18
 
18
- ๐Ÿ‡ช๐Ÿ‡บ = countries_array.select do |hash|
19
+ eu_array = countries_array.select do |hash|
19
20
  EU_ISOS.include?(hash['countryInfo']['iso2'])
20
21
  end
21
22
 
22
- ๐Ÿ‘ค, *๐Ÿ‘ฅ = ๐Ÿ‡ช๐Ÿ‡บ
23
- eu_data = ๐Ÿ‘ค.merge(*๐Ÿ‘ฅ) do |key, left, right|
23
+ head, *tail = eu_array
24
+ eu_data = head.merge(*tail) do |key, left, right|
24
25
  left ||= 0
25
26
  right ||= 0
26
27
 
@@ -29,7 +30,7 @@ module Kovid
29
30
 
30
31
  Kovid::Tablelize.eu_aggregate(eu_data)
31
32
  rescue JSON::ParserError
32
- puts 'Server overwhelmed. Try again in a moment.'
33
+ puts SERVER_DOWN
33
34
  end
34
35
 
35
36
  def by_country(country_name)
@@ -41,7 +42,7 @@ module Kovid
41
42
  Kovid::Tablelize.country_table(response)
42
43
  end
43
44
  rescue JSON::ParserError
44
- puts 'Server overwhelmed. Try again in a moment.'
45
+ puts SERVER_DOWN
45
46
  end
46
47
 
47
48
  def by_country_full(country_name)
@@ -53,7 +54,7 @@ module Kovid
53
54
  Kovid::Tablelize.full_country_table(response)
54
55
  end
55
56
  rescue JSON::ParserError
56
- puts 'Server overwhelmed. Try again in a moment.'
57
+ puts SERVER_DOWN
57
58
  end
58
59
 
59
60
  def state(state)
@@ -61,7 +62,7 @@ module Kovid
61
62
 
62
63
  Kovid::Tablelize.full_state_table(response)
63
64
  rescue JSON::ParserError
64
- puts 'Server overwhelmed. Try again in a moment.'
65
+ puts SERVER_DOWN
65
66
  end
66
67
 
67
68
  def states(list)
@@ -69,38 +70,49 @@ module Kovid
69
70
 
70
71
  Kovid::Tablelize.compare_us_states(array)
71
72
  rescue JSON::ParserError
72
- puts 'Server overwhelmed. Try again in a moment.'
73
+ puts SERVER_DOWN
73
74
  end
74
75
 
75
76
  def by_country_comparison(list)
76
77
  array = fetch_countries(list)
77
78
  Kovid::Tablelize.compare_countries_table(array)
78
79
  rescue JSON::ParserError
79
- puts 'Server overwhelmed. Try again in a moment.'
80
+ puts SERVER_DOWN
80
81
  end
81
82
 
82
83
  def by_country_comparison_full(list)
83
84
  array = fetch_countries(list)
84
85
  Kovid::Tablelize.compare_countries_table_full(array)
85
86
  rescue JSON::ParserError
86
- puts 'Server overwhelmed. Try again in a moment.'
87
+ puts SERVER_DOWN
87
88
  end
88
89
 
89
90
  def cases
90
- response ||= JSON.parse(Typhoeus.get(UriBuilder.new('/all').url, cache_ttl: 900).response_body)
91
+ response = JSON.parse(Typhoeus.get(UriBuilder.new('/all').url, cache_ttl: 900).response_body)
91
92
 
92
93
  Kovid::Tablelize.cases(response)
93
94
  rescue JSON::ParserError
94
- puts 'Server overwhelmed. Try again in a moment.'
95
+ puts SERVER_DOWN
95
96
  end
96
97
 
97
98
  def history(country, last)
98
99
  history_path = UriBuilder.new('/v2/historical').url
99
- response ||= JSON.parse(Typhoeus.get(history_path + "/#{country}", cache_ttl: 900).response_body)
100
+ response = JSON.parse(Typhoeus.get(history_path + "/#{country}", cache_ttl: 900).response_body)
100
101
 
101
102
  Kovid::Tablelize.history(response, last)
102
103
  rescue JSON::ParserError
103
- puts 'Server overwhelmed. Try again in a moment.'
104
+ puts SERVER_DOWN
105
+ end
106
+
107
+ def histogram(country, date)
108
+ history_path = UriBuilder.new('/v2/historical').url
109
+ response = JSON.parse(Typhoeus.get(history_path + "/#{country}", cache_ttl: 900).response_body)
110
+
111
+ Kovid::Tablelize.histogram(response, date)
112
+ end
113
+
114
+ def capitalize_words(string)
115
+ string.split.map(&:capitalize).join(' ')
104
116
  end
105
117
 
106
118
  private
@@ -139,10 +151,6 @@ module Kovid
139
151
 
140
152
  states_array.select { |state_name| state_name['state'] == capitalize_words(state) }.first
141
153
  end
142
-
143
- def capitalize_words(string)
144
- string.split.map(&:capitalize).join(' ')
145
- end
146
154
  end
147
155
  end
148
156
  end
@@ -3,11 +3,18 @@
3
3
  require 'terminal-table'
4
4
  require 'date'
5
5
  require_relative 'painter'
6
+ require 'ascii_charts'
6
7
 
7
8
  module Kovid
8
9
  class Tablelize
9
10
  class << self
10
11
  CASES_DEATHS_RECOVERED = [
12
+ 'Cases'.paint_white,
13
+ 'Deaths'.paint_red,
14
+ 'Recovered'.paint_green
15
+ ].freeze
16
+
17
+ CASES_DEATHS_RECOVERED_CTODAY_DTODAY = [
11
18
  'Cases'.paint_white,
12
19
  'Deaths'.paint_red,
13
20
  'Recovered'.paint_green,
@@ -31,30 +38,46 @@ module Kovid
31
38
  'Critical'.paint_red
32
39
  ].freeze
33
40
 
41
+ COMPARE_COUNTRY_TABLE_FULL = [
42
+ 'Country'.paint_white,
43
+ 'Cases'.paint_white,
44
+ 'Deaths'.paint_red,
45
+ 'Recovered'.paint_green,
46
+ 'Cases Today'.paint_white,
47
+ 'Deaths Today'.paint_red,
48
+ 'Critical'.paint_yellow,
49
+ 'Cases/Million'.paint_white
50
+ ].freeze
51
+
52
+ COMPARE_COUNTRIES_TABLE_HEADINGS = [
53
+ 'Country'.paint_white,
54
+ 'Cases'.paint_white,
55
+ 'Cases Today'.paint_white,
56
+ 'Deaths'.paint_red,
57
+ 'Deaths Today'.paint_red,
58
+ 'Recovered'.paint_green
59
+ ].freeze
60
+
34
61
  FOOTER_LINE = ['------------', '------------', '------------'].freeze
35
62
  COUNTRY_LETTERS = 'A'.upto('Z').with_index(127_462).to_h.freeze
36
63
 
37
64
  def country_table(data)
38
- headings = CASES_DEATHS_RECOVERED
65
+ headings = CASES_DEATHS_RECOVERED_CTODAY_DTODAY
39
66
  rows = [
40
67
  [
41
- data['cases'],
42
- data['deaths'],
43
- data['recovered'],
68
+ comma_delimit(data['cases']),
69
+ comma_delimit(data['deaths']),
70
+ comma_delimit(data['recovered']),
44
71
  check_if_positve(data['todayCases']),
45
72
  check_if_positve(data['todayDeaths'])
46
73
  ]
47
74
  ]
48
75
 
49
- # binding.irb
50
-
51
76
  if iso = data['countryInfo']['iso2']
52
- Terminal::Table.new(title: data['country'].upcase.to_s, headings: headings, rows: rows)
77
+ Terminal::Table.new(title: "#{country_emoji(iso)} #{data['country'].upcase}", headings: headings, rows: rows)
53
78
  else
54
79
  Terminal::Table.new(title: data['country'].upcase, headings: headings, rows: rows)
55
80
  end
56
- # TODO: Rafactor this
57
- # TODO: Fix emoji
58
81
  end
59
82
 
60
83
  def full_country_table(data)
@@ -79,15 +102,15 @@ module Kovid
79
102
  comma_delimit(data['casesPerOneMillion'])
80
103
  ]
81
104
 
82
- # if iso = data['countryInfo']['iso2']
83
- # Terminal::Table.new(title: "#{data['country'].upcase} #{country_emoji(iso)}",
84
- # headings: headings,
85
- # rows: rows)
86
- # else
87
- Terminal::Table.new(title: data['country'].upcase,
88
- headings: headings,
89
- rows: rows)
90
- # end
105
+ if iso = data['countryInfo']['iso2']
106
+ Terminal::Table.new(title: "#{country_emoji(iso)} #{data['country'].upcase}",
107
+ headings: headings,
108
+ rows: rows)
109
+ else
110
+ Terminal::Table.new(title: data['country'].upcase,
111
+ headings: headings,
112
+ rows: rows)
113
+ end
91
114
  # TODO: Rafactor this
92
115
  end
93
116
 
@@ -107,59 +130,43 @@ module Kovid
107
130
  end
108
131
 
109
132
  def compare_countries_table(data)
110
- headings = [
111
- 'Country'.paint_white,
112
- 'Cases'.paint_white,
113
- 'Deaths'.paint_red,
114
- 'Recovered'.paint_green,
115
- 'Cases Today'.paint_white,
116
- 'Deaths Today'.paint_red
117
- ]
118
-
119
133
  rows = []
120
134
 
121
135
  data.each do |country|
122
- rows << [
123
- country['country'].upcase,
136
+ base_rows = [
124
137
  comma_delimit(country['cases']),
125
- comma_delimit(country['deaths']),
126
- comma_delimit(country['recovered']),
127
138
  check_if_positve(country['todayCases']),
128
- check_if_positve(country['todayDeaths'])
139
+ comma_delimit(country['deaths']),
140
+ check_if_positve(country['todayDeaths']),
141
+ comma_delimit(country['recovered'])
129
142
  ]
143
+
144
+ rows << if iso = country['countryInfo']['iso2']
145
+ base_rows.unshift("#{country_emoji(iso)} #{country['country'].upcase}")
146
+ else
147
+ base_rows.unshift(country['country'].upcase.to_s)
148
+ end
130
149
  end
131
150
 
132
- Terminal::Table.new(headings: headings, rows: rows)
151
+ Terminal::Table.new(headings: COMPARE_COUNTRIES_TABLE_HEADINGS, rows: rows)
133
152
  end
134
153
 
135
154
  def compare_countries_table_full(data)
136
- headings = [
137
- 'Country'.paint_white,
138
- 'Cases'.paint_white,
139
- 'Deaths'.paint_red,
140
- 'Recovered'.paint_green,
141
- 'Cases Today'.paint_white,
142
- 'Deaths Today'.paint_red,
143
- 'Critical'.paint_yellow,
144
- 'Cases/Million'.paint_white
145
- ]
146
-
147
- rows = []
155
+ rows = data.map do |country|
156
+ [
157
+ country.fetch('country'),
158
+ comma_delimit(country.fetch('cases')),
159
+ comma_delimit(country.fetch('deaths')),
160
+ comma_delimit(country.fetch('recovered')),
161
+ check_if_positve(country.fetch('todayCases')),
162
+ check_if_positve(country.fetch('todayDeaths')),
163
+ comma_delimit(country.fetch('critical')),
164
+ comma_delimit(country.fetch('casesPerOneMillion'))
148
165
 
149
- data.each do |country|
150
- rows << [
151
- country['country'],
152
- comma_delimit(country['cases']),
153
- comma_delimit(country['deaths']),
154
- comma_delimit(country['recovered']),
155
- check_if_positve(country['todayCases']),
156
- check_if_positve(country['todayDeaths']),
157
- comma_delimit(country['critical']),
158
- comma_delimit(country['casesPerOneMillion'])
159
166
  ]
160
167
  end
161
168
 
162
- Terminal::Table.new(headings: headings, rows: rows)
169
+ Terminal::Table.new(headings: COMPARE_COUNTRY_TABLE_FULL, rows: rows)
163
170
  end
164
171
 
165
172
  def cases(cases)
@@ -172,7 +179,7 @@ module Kovid
172
179
  ]
173
180
  ]
174
181
 
175
- Terminal::Table.new(title: 'Total Number of Incidents Worldwide'.upcase, headings: headings, rows: rows)
182
+ Terminal::Table.new(title: '๐ŸŒ Total Number of Incidents Worldwide'.upcase, headings: headings, rows: rows)
176
183
  end
177
184
 
178
185
  def history(country, last)
@@ -215,6 +222,55 @@ module Kovid
215
222
  )
216
223
  end
217
224
 
225
+ def histogram(country, date_string)
226
+ @date = date_string.split('.')
227
+
228
+ if @date.last.to_i != 20
229
+ Kovid.info_table('Only 2020 histgrams are available.')
230
+ return
231
+ end
232
+
233
+ # From dates where number of !cases.zero?
234
+ positive_cases_figures = country['timeline']['cases'].values.reject!(&:zero?)
235
+ dates = country['timeline']['cases'].reject { |_k, v| v.zero? }.keys
236
+ data = []
237
+
238
+ # Improve this later, like everything else.
239
+ # Returns array of days.to_i from the date param
240
+ dates = dates.map do |date|
241
+ date.split('/')
242
+ end.select do |date|
243
+ date.last == @date.last
244
+ end.select do |date|
245
+ date.first == @date.first
246
+ end.map do |array|
247
+ array[1]
248
+ end.map(&:to_i).last(positive_cases_figures.count)
249
+
250
+ # Arranges dates and figures in [x,y] for histogram
251
+ # With x being day, y being number of cases
252
+ if dates.empty?
253
+ if @date.first.to_i > Time.now.month
254
+ Kovid.info_table('Seriously...??! ๐Ÿ˜')
255
+ else
256
+ Kovid.info_table('No infections for this month.')
257
+ end
258
+
259
+ else
260
+ dates.each_with_index do |val, index|
261
+ data << [val, positive_cases_figures[index]]
262
+ end
263
+ y_range = AsciiCharts::Cartesian.new(data, bar: true, hide_zero: true).y_range
264
+
265
+ last_two_y = y_range.last 2
266
+ y_interval = last_two_y.last - last_two_y.first
267
+
268
+ scale("Scale on Y: #{y_interval}:#{(y_interval / last_two_y.last.to_f * positive_cases_figures.last).round(2) / y_interval}")
269
+
270
+ AsciiCharts::Cartesian.new(data, bar: true, hide_zero: true).draw
271
+ end
272
+ end
273
+
218
274
  def eu_aggregate(eu_data)
219
275
  rows = []
220
276
  rows << [
@@ -228,7 +284,7 @@ module Kovid
228
284
  ]
229
285
 
230
286
  Terminal::Table.new(
231
- title: 'Aggregated EU (27 States) Data'.upcase,
287
+ title: '๐Ÿ‡ช๐Ÿ‡บ' + 8203.chr(Encoding::UTF_8) + ' Aggregated EU (27 States) Data'.upcase,
232
288
  headings: EU_AGGREGATE_HEADINGS,
233
289
  rows: rows
234
290
  )
@@ -248,7 +304,7 @@ module Kovid
248
304
  end
249
305
 
250
306
  def country_emoji(iso)
251
- COUNTRY_LETTERS.values_at(*iso.chars).pack('U*')
307
+ COUNTRY_LETTERS.values_at(*iso.chars).pack('U*') + 8203.chr(Encoding::UTF_8)
252
308
  end
253
309
 
254
310
  def transpose(load)
@@ -256,6 +312,11 @@ module Kovid
256
312
  data.map! { |number| comma_delimit(number) }
257
313
  end
258
314
  end
315
+
316
+ def scale(msg)
317
+ rows = [[msg]]
318
+ puts Terminal::Table.new title: 'SCALE', rows: rows
319
+ end
259
320
  end
260
321
  end
261
322
  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.3.16'
4
+ VERSION = '0.4.4'
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: kovid
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.16
4
+ version: 0.4.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Emmanuel Hayford
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2020-03-26 00:00:00.000000000 Z
11
+ date: 2020-03-28 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: thor
@@ -66,6 +66,20 @@ dependencies:
66
66
  - - "~>"
67
67
  - !ruby/object:Gem::Version
68
68
  version: '3.0'
69
+ - !ruby/object:Gem::Dependency
70
+ name: ascii_charts
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - "~>"
74
+ - !ruby/object:Gem::Version
75
+ version: 0.9.1
76
+ type: :runtime
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - "~>"
81
+ - !ruby/object:Gem::Version
82
+ version: 0.9.1
69
83
  - !ruby/object:Gem::Dependency
70
84
  name: simplecov
71
85
  requirement: !ruby/object:Gem::Requirement
@@ -106,6 +120,7 @@ files:
106
120
  - lib/kovid.rb
107
121
  - lib/kovid/cache.rb
108
122
  - lib/kovid/cli.rb
123
+ - lib/kovid/helpers.rb
109
124
  - lib/kovid/painter.rb
110
125
  - lib/kovid/request.rb
111
126
  - lib/kovid/tablelize.rb