class Covid19
Ruby wrapper for covid19api.com/.
Constants
- BASE_URL
- STATUSES
Public Class Methods
all()
click to toggle source
Warning: returns 10MB of data - use with caution.
# File lib/covid19.rb, line 16 def all serve_request('all') end
cases_by_country(country, status)
click to toggle source
# File lib/covid19.rb, line 48 def cases_by_country(country, status) return invalid_status_msg(status) unless valid_status?(status) serve_request("/country/#{country}/status/#{status}") end
cases_by_country_live(country, status)
click to toggle source
# File lib/covid19.rb, line 54 def cases_by_country_live(country, status) return invalid_status_msg(status) unless valid_status?(status) serve_request("/country/#{country}/status/#{status}/live") end
cases_by_country_total(country, status)
click to toggle source
# File lib/covid19.rb, line 60 def cases_by_country_total(country, status) return invalid_status_msg(status) unless valid_status?(status) serve_request("/total/country/#{country}/status/#{status}") end
cases_by_day_one(country, status)
click to toggle source
# File lib/covid19.rb, line 32 def cases_by_day_one(country, status) return invalid_status_msg(status) unless valid_status?(status) serve_request("/dayone/country/#{country}/status/#{status}") end
cases_by_day_one_live(country, status)
click to toggle source
# File lib/covid19.rb, line 38 def cases_by_day_one_live(country, status) return invalid_status_msg(status) unless valid_status?(status) serve_request("/dayone/country/#{country}/status/#{status}/live") end
cases_by_day_one_total(country, status)
click to toggle source
# File lib/covid19.rb, line 44 def cases_by_day_one_total(country, status) serve_request("/total/dayone/country/#{country}/status/#{status}") end
cases_live_by_country_after_date( country, status, date = (DateTime.now - 1).to_s )
click to toggle source
# File lib/covid19.rb, line 72 def cases_live_by_country_after_date( country, status, date = (DateTime.now - 1).to_s ) return invalid_status_msg(status) unless valid_status?(status) serve_request("/live/country/#{country}/status/#{status}/date/#{date}") end
cases_live_by_country_and_status(country, status)
click to toggle source
# File lib/covid19.rb, line 66 def cases_live_by_country_and_status(country, status) return invalid_status_msg(status) unless valid_status?(status) serve_request("/live/country/#{country}/status/#{status}") end
countries()
click to toggle source
# File lib/covid19.rb, line 28 def countries serve_request('countries') end
info()
click to toggle source
# File lib/covid19.rb, line 11 def info serve_request('') end
stats()
click to toggle source
# File lib/covid19.rb, line 20 def stats serve_request('stats') end
summary()
click to toggle source
# File lib/covid19.rb, line 24 def summary serve_request('summary') end
Private Class Methods
invalid_status_msg(status)
click to toggle source
# File lib/covid19.rb, line 93 def invalid_status_msg(status) "Invalid status \"#{status.downcase}\"." \ "Please provide one of the following statuses: #{STATUSES.join(', ')}" end
serve_request(suffix)
click to toggle source
# File lib/covid19.rb, line 84 def serve_request(suffix) response = HTTP.get("#{BASE_URL}/#{suffix}") JSON.parse(response) end
valid_status?(status)
click to toggle source
# File lib/covid19.rb, line 89 def valid_status?(status) STATUSES.include?(status.downcase) end