class DcAddressLookup::Location
Public Class Methods
from_table(table)
click to toggle source
# File lib/dc_address_lookup/location.rb, line 3 def self.from_table(table) location = self.new return location unless table table.each do |key,value| key = key.downcase if value.class == String value = value.gsub(/\A#{key.split("_").first}\b/i, "").squeeze("\s").strip value = value.to_i if value =~ /\A[1-9][0-9]*\z/ value = value.to_f if value =~ /\A[0-9]+\.[0-9]+\z/ elsif value.class == Float value = value.to_i if value.to_s =~ /\A[0-9]+\.0\z/ end location.data[key] = value end location end
Public Instance Methods
data()
click to toggle source
# File lib/dc_address_lookup/location.rb, line 44 def data @data ||= {} end
method_missing(method_sym, *arguments, &block)
click to toggle source
Calls superclass method
# File lib/dc_address_lookup/location.rb, line 28 def method_missing(method_sym, *arguments, &block) if has_property?(method_sym) data[method_sym.to_s] else super end end
respond_to?(method_sym, include_private = false)
click to toggle source
Calls superclass method
# File lib/dc_address_lookup/location.rb, line 36 def respond_to?(method_sym, include_private = false) if has_property?(method_sym) true else super end end
valid?()
click to toggle source
# File lib/dc_address_lookup/location.rb, line 24 def valid? !(data.empty?) end
Private Instance Methods
has_property?(property)
click to toggle source
# File lib/dc_address_lookup/location.rb, line 50 def has_property?(property) data.keys.include?(property.to_s) end