postcode_gem 0.3.3 → 0.3.4
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/postcode_gem/version.rb +1 -1
- data/lib/postcode_gem.rb +36 -2
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 47edb52adf4f0016a41ceb58113b2440577e03320247a6d90576f01cd99ebdc9
|
4
|
+
data.tar.gz: df5f088bb75f0c0ca7164b53b544af75c1ad8d8616dc6a6c65a014306e1ed507
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 9d969bc0762746c13f263a6aa1ac18cf27c4c15e4b93250cb973ceb683e803d6dd599edebdb594d8be3b6cb4b4d66a3f7bf3856fb4ed27bb42f61116d5755904
|
7
|
+
data.tar.gz: ae136606f67e8605ec4de3b704a8122e19500961ba3f503d0ba16d5a7e4c93b5f7deba24453688355417ecc2e7af94736bcc53e0224229354557c0dcd20cd769
|
data/lib/postcode_gem/version.rb
CHANGED
data/lib/postcode_gem.rb
CHANGED
@@ -1,3 +1,37 @@
|
|
1
|
-
require_relative 'postcode_gem/
|
1
|
+
require_relative '../postcode_gem/version'
|
2
|
+
require "json"
|
3
|
+
require "tty-prompt"
|
4
|
+
require "pry"
|
2
5
|
|
3
|
-
PostcodeGem
|
6
|
+
module PostcodeGem
|
7
|
+
def self.select_country
|
8
|
+
@data = JSON.load(File.read('./data/postcode_areacode.json'))
|
9
|
+
attr_accessor :country, :city, :zipcode
|
10
|
+
prompt = TTY::Prompt.new
|
11
|
+
@country = prompt.select('Enter the country you want to select', %w(Vietnam England Japan))
|
12
|
+
end
|
13
|
+
def self.process_input
|
14
|
+
select_country
|
15
|
+
print "Enter the city or area code you want to search: "
|
16
|
+
@city_zipcode = gets.chomp
|
17
|
+
@firstWord = @city_zipcode.split('')[0]
|
18
|
+
end
|
19
|
+
def output_zipcode
|
20
|
+
process_input
|
21
|
+
@city = @data["#{@country}"].values
|
22
|
+
@zipcode = @data["#{@country}"].keys
|
23
|
+
@data_country = @data["#{@country}"]
|
24
|
+
|
25
|
+
if @data_country.has_key?(@city_zipcode)
|
26
|
+
puts @data_country.values_at("#{@city_zipcode}")
|
27
|
+
elsif @data_country.has_key?(@city_zipcode) == false && /[0-9]/.match(@firstWord)
|
28
|
+
puts @zipcode.map { |v| puts v if v.start_with?(@firstWord) }
|
29
|
+
end
|
30
|
+
if @data_country.has_value?(@city_zipcode)
|
31
|
+
puts @data_country.key(@city_zipcode)
|
32
|
+
elsif @data_country.has_value?(@city_zipcode) == false && /[a-z]/.match(@firstWord)
|
33
|
+
puts @city.map { |v| puts v if v.start_with?(@firstWord) }
|
34
|
+
end
|
35
|
+
end
|
36
|
+
module_function :output_zipcode
|
37
|
+
end
|