Sha256: 3de79d0b8963e4f0a61b68c6cf7c25fed517be126d3b622e5086c391b5363fe7

Contents?: true

Size: 979 Bytes

Versions: 4

Compression:

Stored size: 979 Bytes

Contents

module OLogger
  class Buffer
    attr_accessor :messages
  
    def initialize
      self.messages = []
    end
  
    def flush
      self.messages = []
    end
  
    def add(options = {})
      messages << options
    end
  
    def grouped_messages
      messages.group_by { |b| "#{b[:logger_module]}.#{b[:logger_id]}"}
    end
  
    def write
      grouped_messages.each do |k, game_module_messages|
        logger_module = game_module_messages.first[:logger_module] || 'unknown'
        logger_id = game_module_messages.first[:logger_id] || 'unknown'
        OLogger.create_module(logger_module)        
        (OLogger.path + logger_module + (logger_id.to_s + '.log')).open('a+') do |file|
          game_module_messages.each do |message|
            file.puts "#{Time.now.strftime('%d.%m.%Y %H:%M:%S')}: #{message[:message]}"
            message[:objs].each { |obj| PP.pp(obj, file) } if message[:objs]
          end
        end        
      end 
    end
  
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
prepor-ologger-0.1.2 lib/ologger/buffer.rb
prepor-ologger-0.1.3 lib/ologger/buffer.rb
prepor-ologger-0.1.5 lib/ologger/buffer.rb
prepor-ologger-0.1.6 lib/ologger/buffer.rb