Module: PostcodeGem

Defined in:
lib/postcode_gem.rb,
lib/postcode_gem/version.rb

Constant Summary collapse

VERSION =
"0.2.5"

Class Method Summary collapse

Class Method Details

.output_zipcodeObject



20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
# File 'lib/postcode_gem.rb', line 20

def output_zipcode
	process_input
	@city = @data["#{@country}"].values
	@zipcode = @data["#{@country}"].keys
	@data_country = @data["#{@country}"]

	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.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.start_with?(@firstWord) }
	end
end

.process_inputObject



14
15
16
17
18
19
# File 'lib/postcode_gem.rb', line 14

def self.process_input
	select_country
	print "Enter the city or area code you want to search: "
	@city_zipcode = gets.chomp
	@firstWord = @city_zipcode.split('')[0]
end

.select_countryObject



8
9
10
11
12
13
# File 'lib/postcode_gem.rb', line 8

def self.select_country
	@data = JSON.parse(File.read('./data/postcode_areacode.json'))
	attr_accessor :country, :city, :zipcode
	prompt = TTY::Prompt.new
	@country = prompt.select('Enter the country you want to select', %w(Vietnam England Japan))
end