module CityPicker
Constants
- VERSION
Public Class Methods
data()
click to toggle source
# File lib/city_picker.rb, line 5 def data unless @list # Rails.logger.info "========= LIST #{Time.now}" @list = JSON.parse(File.read("#{Engine.root}/db/data.json")) end @list end
get_address(codes = [])
click to toggle source
# File lib/city_picker.rb, line 28 def get_address(codes = []) address = [] codes.each do |code| address << get_by_code(code) end address.join('') end
get_by_code(code)
click to toggle source
# File lib/city_picker.rb, line 23 def get_by_code(code) values = data.values.flatten get(values, code) end
list(type, code)
click to toggle source
# File lib/city_picker.rb, line 18 def list(type, code) result = list_data(type, code) get_data(result) end
list_data(type, code)
click to toggle source
# File lib/city_picker.rb, line 13 def list_data(type, code) result = data[type] result.select{|a| a if a['parent'] == code} if type != 'province' end
Private Class Methods
get(values, code)
click to toggle source
# File lib/city_picker.rb, line 38 def get(values, code) result = values.detect{|a| a if a['code'] == code} result.nil? ? nil : result['name'] end
get_data(arr = [])
click to toggle source
# File lib/city_picker.rb, line 43 def get_data(arr = []) data = {} arr.each do |item| data[item['code']] = item['name'] end data end