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.



164
165
166
167
168
# File 'lib/td/logger/td_logger.rb', line 164

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

Instance Method Details

#append(data) ⇒ Object



181
182
183
# File 'lib/td/logger/td_logger.rb', line 181

def append(data)
  @gz << data
end

#closeObject



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

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

#flush!Object



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

def flush!
  close
  @data.string
end

#key_set_sizeObject



170
171
172
# File 'lib/td/logger/td_logger.rb', line 170

def key_set_size
  @key_set.size
end

#sizeObject



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

def size
  @data.size
end

#update_key_set(record) ⇒ Object



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

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