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.



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

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

Instance Method Details

#append(data) ⇒ Object



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

def append(data)
  @gz << data
end

#closeObject



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

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

#flush!Object



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

def flush!
  close
  @data.string
end

#key_set_sizeObject



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

def key_set_size
  @key_set.size
end

#sizeObject



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

def size
  @data.size
end

#update_key_set(record) ⇒ Object



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

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