class Ruby::Reports::Services::DataIterator

Attributes

custom_source[R]

Public Instance Methods

data_each(force = false) { |row| ... } click to toggle source

Internal: Выполняет запрос строк отчета пачками

Returns Nothing

# File lib/ruby/reports/services/data_iterator.rb, line 18
def data_each(force = false, &block)
  return iterate_custom_source(&block) if custom_source

  batch_offset = 0

  while (rows = query.request_batch(batch_offset)).count > 0 do
    rows.each { |row| yield row }
    batch_offset += config.batch_size
  end
end
data_size() click to toggle source

Internal: Возвращает общее кол-во строк в отчете

Returns Fixnum

# File lib/ruby/reports/services/data_iterator.rb, line 32
def data_size
  @data_size ||= if custom_source
                   custom_source.count
                 else
                   query.request_count
                 end
end
iterate_custom_source() { |row| ... } click to toggle source
# File lib/ruby/reports/services/data_iterator.rb, line 10
def iterate_custom_source
  custom_source.each do |row|
    yield row
  end
end