class FiasReader::Reader

Инерфейс для работы XML с базой ФИАС

Constants

EMPTY_STRING
TODAY
XML_DATE_SEPARATOR

Итерируем по всем активным записям домов, принимает блок в качестве аргумента В вызываемы блок передается объект типа FiasReader::Reader::Row.

Attributes

path[R]

Public Class Methods

new(path) click to toggle source
# File lib/fias_reader/reader.rb, line 5
def initialize(path)
  @path = path
end

Public Instance Methods

each() { |row| ... } click to toggle source
# File lib/fias_reader/reader.rb, line 14
def each
  Cache.init self

  Table::House.new(self).query.all do |row|
    next unless active?(row)
    row = FiasReader::Reader::Row.new row
    yield row if row.address_object
  end
end

Private Instance Methods

active?(row) click to toggle source
# File lib/fias_reader/reader.rb, line 26
def active?(row)
  date_to_int(row[:ENDDATE]) >= TODAY && date_to_int(row[:STARTDATE]) < TODAY
end
date_to_int(date) click to toggle source
# File lib/fias_reader/reader.rb, line 30
def date_to_int(date)
  date.tr!(XML_DATE_SEPARATOR, EMPTY_STRING)
  date.to_i
end