class CountryDetails::Get
Public Class Methods
new()
click to toggle source
# File lib/country_details.rb, line 5 def initialize url = 'https://restcountries.eu/rest/v2/all' rest_client_response = RestClient.get(url) @@all_countries = JSON.parse(rest_client_response.body) end
Public Instance Methods
all()
click to toggle source
# File lib/country_details.rb, line 11 def all @@all_countries end
details_by_code(code, options = {})
click to toggle source
# File lib/country_details.rb, line 21 def details_by_code(code, options = {}) code = code.upcase if code.length == 2 detail = @@all_countries.map{|detail| detail if detail["alpha2Code"]==code}.compact elsif code.length == 3 detail = all.map{|detail| detail if detail["alpha3Code"]==code}.compact end return {'success': 'false', 'Error': 'Invalid code!'} unless detail.present? return detail end
details_by_name(country_name, options = {})
click to toggle source
# File lib/country_details.rb, line 15 def details_by_name(country_name, options = {}) detail = @@all_countries.map{|detail| detail if detail["name"]==country_name.capitalize}.compact return {'success': 'false', 'Error': 'Invalid country name!'} unless detail.present? return detail end