Module: KoreanZipcodeFinder
- Extended by:
- Configuration
- Defined in:
- lib/engine.rb,
lib/korean_zipcode_finder.rb,
lib/korean_zipcode_finder/version.rb,
lib/korean_zipcode_finder/configuration.rb,
app/models/korean_zipcode_finder/zipcode.rb,
app/controllers/korean_zipcode_finder/zipcodes_controller.rb
Defined Under Namespace
Modules: Configuration Classes: Engine, Zipcode, ZipcodesController
Constant Summary collapse
- VERSION =
"0.1.0"
Constants included from Configuration
Instance Attribute Summary
Attributes included from Configuration
Class Method Summary collapse
Methods included from Configuration
Class Method Details
.find_zipcode(dong_name) ⇒ Object
15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 |
# File 'lib/korean_zipcode_finder.rb', line 15 def self.find_zipcode(dong_name) iconv = Iconv.new("euc-kr", "utf-8//IGNORE") keyword = iconv.conv(dong_name.strip) response = Net::HTTP.post_form URI.parse(Configuration::URL), {'regkey' => api_key, 'target' => 'post', 'query' => keyword} nodes = Nokogiri::XML(response.body).css("item") nodes.map do |node| original_address = node.css("address").text address = original_address.strip.sub(/\s(\d+)(~?)(\d+)\z/, "") zipcode = node.css("postcd").text zipcode_01 = zipcode[0..2] zipcode_02 = zipcode[-3..-1] Struct::KoreanZipcodeFinder.new(zipcode, zipcode_01, zipcode_02, address, original_address) end end |