module PostcodeGem
Constants
- VERSION
Attributes
city[RW]
country[RW]
zipcode[RW]
Public Class Methods
output_zipcode()
click to toggle source
# File lib/postcode_gem.rb, line 9 def output_zipcode @data = PostcodeData::DATA prompt = TTY::Prompt.new @country = prompt.select('Enter the country you want to select', %w(Vietnam England Japan)) print "Enter the city or area code you want to search: " @city_zipcode = gets.chomp @firstWord = @city_zipcode.split('')[0] @city = @data[@country.to_sym].values @zipcode = @data[@country.to_sym].keys @data_country = @data[@country.to_sym] if @data_country.has_key?(@city_zipcode) puts @data_country.values_at("#{@city_zipcode}") elsif @data_country.has_key?(@city_zipcode) == false && /[0-9]/.match(@firstWord) puts @zipcode.map { |v| puts v if v.to_s.start_with?(@firstWord) } end if @data_country.has_value?(@city_zipcode) puts @data_country.key(@city_zipcode) elsif @data_country.has_value?(@city_zipcode) == false && /[a-z]/.match(@firstWord) puts @city.map { |v| puts v if v.to_s.start_with?(@firstWord) } end end
Private Instance Methods
output_zipcode()
click to toggle source
# File lib/postcode_gem.rb, line 9 def output_zipcode @data = PostcodeData::DATA prompt = TTY::Prompt.new @country = prompt.select('Enter the country you want to select', %w(Vietnam England Japan)) print "Enter the city or area code you want to search: " @city_zipcode = gets.chomp @firstWord = @city_zipcode.split('')[0] @city = @data[@country.to_sym].values @zipcode = @data[@country.to_sym].keys @data_country = @data[@country.to_sym] if @data_country.has_key?(@city_zipcode) puts @data_country.values_at("#{@city_zipcode}") elsif @data_country.has_key?(@city_zipcode) == false && /[0-9]/.match(@firstWord) puts @zipcode.map { |v| puts v if v.to_s.start_with?(@firstWord) } end if @data_country.has_value?(@city_zipcode) puts @data_country.key(@city_zipcode) elsif @data_country.has_value?(@city_zipcode) == false && /[a-z]/.match(@firstWord) puts @city.map { |v| puts v if v.to_s.start_with?(@firstWord) } end end