beaver 1.4.0 → 1.4.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +7 -0
- data/bin/beaver +0 -0
- data/lib/beaver.rb +1 -0
- data/lib/beaver/dam.rb +1 -1
- data/lib/beaver/parsers/http.rb +14 -1
- data/lib/beaver/parsers/rails.rb +5 -5
- data/lib/beaver/request.rb +5 -0
- data/lib/beaver/utils.rb +2 -0
- data/lib/beaver/version.rb +1 -1
- metadata +10 -12
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: 59b5cde80bdb96a54a47391839e44e5df313920d
|
4
|
+
data.tar.gz: 5f34d0b376cf7ebe821a7d451485f92ce6854630
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: 975399a18858fe522da3d58ec943b3f001b138f94222a5c4a430b81d5785085da35a2e41628c1db7a07424563a9ddf88cea4f3d049b70b5f218162c92a1c2bb9
|
7
|
+
data.tar.gz: 76c6e06afdb6a79c89b50dcdd0ca8a9fbe380b7f38c95b5acdd6a253bbacf6886c86afcb4d2d2416e0b184635070afe1c5bb7502e27f65578a78287a1296a3f2
|
data/bin/beaver
CHANGED
File without changes
|
data/lib/beaver.rb
CHANGED
data/lib/beaver/dam.rb
CHANGED
@@ -38,7 +38,7 @@ module Beaver
|
|
38
38
|
#
|
39
39
|
# :params_str Rails HTTP Regular expressing matching the Parameters string
|
40
40
|
#
|
41
|
-
# :params Rails
|
41
|
+
# :params Rails HTTP Hash of Symbol=>String/Regexp pairs: {:username => 'bob', :email => /@gmail\.com$/}. All must match (but *not* all must be present).
|
42
42
|
#
|
43
43
|
# :tagged Rails Comma-separated String or Array of Rails Tagged Logger tags. If you specify multiple tags, a request must have *all* of them.
|
44
44
|
#
|
data/lib/beaver/parsers/http.rb
CHANGED
@@ -7,6 +7,7 @@ module Beaver
|
|
7
7
|
# The Combined Log Format as an array of symbols
|
8
8
|
FORMAT_SYMBOLS = FORMAT.split(' ').map(&:to_sym) # :nodoc:
|
9
9
|
FHOST, FID, FUSER, FTIME, FREQUEST, FSTATUS, FSIZE, FREFERER, FUA = FORMAT_SYMBOLS # :nodoc:
|
10
|
+
REGEX_TIME_FIX = /([0-9]{4}):([0-9]{2})/
|
10
11
|
|
11
12
|
# Regex matchers keyed by opening quotes, etc.
|
12
13
|
MATCHERS = {'[' => /^\[([^\]]+)\] ?/, '"' => /^"([^"]+)" ?/} # :nodoc:
|
@@ -37,6 +38,18 @@ module Beaver
|
|
37
38
|
@path
|
38
39
|
end
|
39
40
|
|
41
|
+
# Parses and returns the request parameters as a Hash
|
42
|
+
def parse_params
|
43
|
+
params_str.empty? ? BLANK_HASH : CGI::parse(params_str).inject({}) do |hash, (param, value)|
|
44
|
+
hash[param] = if value.is_a?(Array) and value.size == 1 and param !~ /\[\d*\]$/
|
45
|
+
value[0]
|
46
|
+
else
|
47
|
+
value
|
48
|
+
end
|
49
|
+
hash
|
50
|
+
end
|
51
|
+
end
|
52
|
+
|
40
53
|
# Returns the url query string
|
41
54
|
def params_str
|
42
55
|
parse_request! if @params_str.nil?
|
@@ -86,7 +99,7 @@ module Beaver
|
|
86
99
|
|
87
100
|
# Parses and returns the time at which the request was made
|
88
101
|
def parse_time
|
89
|
-
time_str = @request[FTIME].
|
102
|
+
time_str = @request[FTIME].sub(REGEX_TIME_FIX) { "#{$1} #{$2}" }
|
90
103
|
Time.parse(time_str) rescue nil
|
91
104
|
end
|
92
105
|
|
data/lib/beaver/parsers/rails.rb
CHANGED
@@ -47,11 +47,6 @@ module Beaver
|
|
47
47
|
@ms ||= REGEX_MS.match(@data) ? $1.to_i : 0
|
48
48
|
end
|
49
49
|
|
50
|
-
# Returns the request parameters as a Hash (this is more expensive than Request#params_str)
|
51
|
-
def params
|
52
|
-
@params ||= params_str.empty? ? BLANK_HASH : Utils.str_to_hash(params_str)
|
53
|
-
end
|
54
|
-
|
55
50
|
# Returns the tags string associated with the request (e.g. "[tag1] [tag2] ")
|
56
51
|
def tags_str
|
57
52
|
@tags_str ||= REGEX_TAGS.match(@data) ? $1 : nil
|
@@ -89,6 +84,11 @@ module Beaver
|
|
89
84
|
REGEX_COMPLETED.match(@data) ? $1.to_i : 0
|
90
85
|
end
|
91
86
|
|
87
|
+
# Parses and returns the request parameters as a Hash
|
88
|
+
def parse_params
|
89
|
+
params_str.empty? ? BLANK_HASH : Utils.str_to_hash(params_str)
|
90
|
+
end
|
91
|
+
|
92
92
|
# Parses and returns the request parameters as a String
|
93
93
|
def parse_params_str
|
94
94
|
REGEX_PARAMS_STR.match(@data) ? $1 : BLANK_STR
|
data/lib/beaver/request.rb
CHANGED
@@ -56,6 +56,11 @@ module Beaver
|
|
56
56
|
@status ||= parse_status
|
57
57
|
end
|
58
58
|
|
59
|
+
# Returns the request parameters as a Hash (this is more expensive than Request#params_str)
|
60
|
+
def params
|
61
|
+
@params ||= parse_params
|
62
|
+
end
|
63
|
+
|
59
64
|
# Returns the request parameters as a String
|
60
65
|
def params_str
|
61
66
|
@params_str ||= parse_params_str
|
data/lib/beaver/utils.rb
CHANGED
@@ -127,6 +127,8 @@ module Beaver
|
|
127
127
|
indicies.all? do |i|
|
128
128
|
if a_values[i].is_a? String
|
129
129
|
a_values[i] == b_values[i]
|
130
|
+
elsif a_values[i].is_a? Array
|
131
|
+
a_values[i] == b_values[i]
|
130
132
|
elsif a_values[i].is_a?(Regexp) and b_values[i].is_a?(String)
|
131
133
|
a_values[i] =~ b_values[i]
|
132
134
|
elsif a_values[i].is_a?(Hash) and b_values[i].is_a?(Hash)
|
data/lib/beaver/version.rb
CHANGED
@@ -1,4 +1,4 @@
|
|
1
1
|
module Beaver
|
2
|
-
MAJOR_VERSION, MINOR_VERSION, TINY_VERSION, PRE_VERSION = 1, 4,
|
2
|
+
MAJOR_VERSION, MINOR_VERSION, TINY_VERSION, PRE_VERSION = 1, 4, 1, nil # :nodoc:
|
3
3
|
VERSION = [MAJOR_VERSION, MINOR_VERSION, TINY_VERSION, PRE_VERSION].compact.join '.' # :nodoc:
|
4
4
|
end
|
metadata
CHANGED
@@ -1,15 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: beaver
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.4.
|
5
|
-
prerelease:
|
4
|
+
version: 1.4.1
|
6
5
|
platform: ruby
|
7
6
|
authors:
|
8
7
|
- Jordan Hollinger
|
9
8
|
autorequire:
|
10
9
|
bindir: bin
|
11
10
|
cert_chain: []
|
12
|
-
date:
|
11
|
+
date: 2014-01-28 00:00:00.000000000 Z
|
13
12
|
dependencies: []
|
14
13
|
description: A simple DSL and command-line tool for discovering what people are up
|
15
14
|
to in your Rails app
|
@@ -21,37 +20,36 @@ extra_rdoc_files: []
|
|
21
20
|
files:
|
22
21
|
- lib/beaver.rb
|
23
22
|
- lib/beaver/dam.rb
|
24
|
-
- lib/beaver/beaver.rb
|
25
|
-
- lib/beaver/request.rb
|
26
23
|
- lib/beaver/parsers/rails.rb
|
27
24
|
- lib/beaver/parsers/http.rb
|
28
|
-
- lib/beaver/
|
25
|
+
- lib/beaver/beaver.rb
|
26
|
+
- lib/beaver/request.rb
|
29
27
|
- lib/beaver/version.rb
|
28
|
+
- lib/beaver/utils.rb
|
30
29
|
- README.rdoc
|
31
30
|
- LICENSE
|
32
31
|
- bin/beaver
|
33
32
|
homepage: http://github.com/jhollinger/beaver
|
34
33
|
licenses: []
|
34
|
+
metadata: {}
|
35
35
|
post_install_message:
|
36
36
|
rdoc_options: []
|
37
37
|
require_paths:
|
38
38
|
- lib
|
39
39
|
required_ruby_version: !ruby/object:Gem::Requirement
|
40
|
-
none: false
|
41
40
|
requirements:
|
42
|
-
- -
|
41
|
+
- - '>='
|
43
42
|
- !ruby/object:Gem::Version
|
44
43
|
version: '0'
|
45
44
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
46
|
-
none: false
|
47
45
|
requirements:
|
48
|
-
- -
|
46
|
+
- - '>='
|
49
47
|
- !ruby/object:Gem::Version
|
50
48
|
version: '0'
|
51
49
|
requirements: []
|
52
50
|
rubyforge_project:
|
53
|
-
rubygems_version:
|
51
|
+
rubygems_version: 2.0.14
|
54
52
|
signing_key:
|
55
|
-
specification_version:
|
53
|
+
specification_version: 4
|
56
54
|
summary: Rails log parser
|
57
55
|
test_files: []
|