Module: PostalCodes
- Defined in:
- lib/postal_codes.rb,
lib/postal_codes/version.rb
Constant Summary collapse
- VERSION =
"0.0.9"
Class Method Summary collapse
Class Method Details
.compute_data ⇒ Object
9 10 11 12 13 14 15 16 |
# File 'lib/postal_codes.rb', line 9 def self.compute_data result = Hash.new list = Dir.entries(File.(File.dirname(__FILE__))+"/data").select {|f| !File.directory? f} list.each do |country| result[country.split(".")[0]] = YAML.load_file(File.(File.dirname(__FILE__))+'/data/'+country) end result end |
.data ⇒ Object
5 6 7 |
# File 'lib/postal_codes.rb', line 5 def self.data @data ||= self.compute_data end |
.find_all(postal_code) ⇒ Object
18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 |
# File 'lib/postal_codes.rb', line 18 def self.find_all(postal_code) list = self.data postal_code = postal_code.to_i if postal_code.to_i.to_s == postal_code final_result = Array.new list.each do |country,data| result = Hash.new postcodes = [] data['states'].keys.each do |state| if !data['states'][state][postal_code].nil? result['country'] = data['country'] result['state'] = state result['locality'] = data['states'][state][postal_code] break end end final_result << result if result.size > 0 end return final_result end |