Top Level Namespace

Defined Under Namespace

Classes: Http_Error_Log_Helper

Constant Summary collapse

Http_Error_Log_VERSION =
"0.1.2"

Instance Method Summary collapse

Instance Method Details

#Http_Error_Log(file, skip = nil) ⇒ Object



5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
# File 'lib/Http_Error_Log.rb', line 5

def Http_Error_Log file, skip = nil
  h = Http_Error_Log_Helper
  count = 0
  skip  = case skip
          when Time, NilClass
            skip
          else
            Time.parse skip
          end

  lines = Split_Lines(File.read( file ))
  lines
  .map { |l| 
    count += 1
    pieces = l.split %r!,?\s+([\w\_\.\-]+):\s+! 
    
    prefix = pieces.shift
    time_str = prefix.split[0,2].join(' ') 
    
    next if skip && Time.parse(time_str) <= skip
    
    pieces.each_index { |i|
      if i.even?
        pieces[i] = pieces[i].to_sym
      end
    }
    
    final = Hash[ *pieces ]
    final[:created_at], final[:error], final[:msg] = h.to_time(prefix)
    final[:line] = count
    
    final
    
  }.compact
end