Class: TreasureData::Logger::TreasureDataLogger::Buffer

Inherits:
Object
  • Object
show all
Defined in:
lib/td/logger/td_logger.rb

Instance Method Summary collapse

Constructor Details

#initializeBuffer

Returns a new instance of Buffer.



172
173
174
175
176
# File 'lib/td/logger/td_logger.rb', line 172

def initialize
  @key_set = {}
  @data = StringIO.new
  @gz = Zlib::GzipWriter.new(@data)
end

Instance Method Details

#append(data) ⇒ Object



189
190
191
# File 'lib/td/logger/td_logger.rb', line 189

def append(data)
  @gz << data
end

#closeObject



202
203
204
# File 'lib/td/logger/td_logger.rb', line 202

def close
  @gz.close unless @gz.closed?
end

#flush!Object



197
198
199
200
# File 'lib/td/logger/td_logger.rb', line 197

def flush!
  close
  @data.string
end

#key_set_sizeObject



178
179
180
# File 'lib/td/logger/td_logger.rb', line 178

def key_set_size
  @key_set.size
end

#sizeObject



193
194
195
# File 'lib/td/logger/td_logger.rb', line 193

def size
  @data.size
end

#update_key_set(record) ⇒ Object



182
183
184
185
186
187
# File 'lib/td/logger/td_logger.rb', line 182

def update_key_set(record)
  record.each_key {|key|
    @key_set[key] = true
  }
  @key_set.size
end