Module: Jipcode
- Defined in:
- lib/jipcode.rb,
lib/jipcode/version.rb,
lib/jipcode/japan_post.rb
Defined Under Namespace
Modules: JapanPost
Constant Summary collapse
- ZIPCODE_PATH =
"#{File.dirname(__FILE__)}/../zipcode/latest".freeze
- VERSION =
'1.2.8'
Class Method Summary collapse
Class Method Details
.locate(zipcode) ⇒ Object
7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
# File 'lib/jipcode.rb', line 7 def locate(zipcode) # 数字7桁以外の入力は受け付けない return [] unless zipcode =~ /\A\d{7}?\z/ # 上3桁にマッチするファイルが存在しなければ該当なし path = "#{ZIPCODE_PATH}/#{zipcode[0..2]}.csv" return [] unless File.exist?(path) addresses_array = CSV.read(path).select { |address| address[0] == zipcode } addresses_array.map do |address_param| { zipcode: address_param[0], prefecture: address_param[1], city: address_param[2], town: address_param[3] } end end |