class Geonames::Data::Feature
Public Class Methods
field(name) { |data| ... }
click to toggle source
# File lib/geonames/data/feature.rb, line 6 def self.field(name) @fields ||= [] index = @fields.size @fields << name if block_given? define_method name do yield(@data[index]) end else define_method name do @data[index] end end end
load(filepath) { |feature| ... }
click to toggle source
# File lib/geonames/data/feature.rb, line 49 def self.load(filepath, &filter) Pathname.new(filepath).open("r").inject([]) do |features, line| feature = Feature.new(line.strip.split("\t")) features.push(feature) if !block_given? || yield(feature) features end end
new(data)
click to toggle source
# File lib/geonames/data/feature.rb, line 41 def initialize(data) @data = data.dup end
Public Instance Methods
names()
click to toggle source
# File lib/geonames/data/feature.rb, line 45 def names @names ||= [ name, ascii_name, *alternate_names ] end