Module: Jpostcode
- Defined in:
- lib/jpostcode.rb,
lib/jpostcode/address.rb,
lib/jpostcode/version.rb
Defined Under Namespace
Classes: Address
Constant Summary collapse
- DATA_DIR =
"#{File.dirname(__FILE__)}/../jpostcode-data/data/json/"
- VERSION =
'1.0.0.20241001'
Class Method Summary collapse
Class Method Details
.find(raw_zip_code) ⇒ Object
12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 |
# File 'lib/jpostcode.rb', line 12 def find(raw_zip_code) zip_code = raw_zip_code.to_s.delete('-') return nil unless zip_code.match?(/^\d{7,7}$/) json_file = "#{DATA_DIR}#{zip_code.slice(0, 3)}.json" return nil unless File.exist?(json_file) data = JSON.parse(File.read(json_file)) address_data = data[zip_code.slice(3, 4)] return nil if address_data.nil? if address_data.instance_of?(Array) address_data.map { |a| Jpostcode::Address.new(a) } else Jpostcode::Address.new(address_data) end end |