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.



149
150
151
152
153
# File 'lib/td/logger/td_logger.rb', line 149

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

Instance Method Details

#append(data) ⇒ Object



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

def append(data)
  @gz << data
end

#closeObject



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

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

#flush!Object



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

def flush!
  close
  @data.string
end

#key_set_sizeObject



155
156
157
# File 'lib/td/logger/td_logger.rb', line 155

def key_set_size
  @key_set.size
end

#sizeObject



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

def size
  @data.size
end

#update_key_set(record) ⇒ Object



159
160
161
162
163
164
# File 'lib/td/logger/td_logger.rb', line 159

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