flog 2.1.2 → 2.2.0
Sign up to get free protection for your applications and to get access to all the features.
- data/History.txt +14 -0
- data/bin/flog +1 -1
- data/lib/flog.rb +6 -11
- metadata +5 -26
- data.tar.gz.sig +0 -2
- metadata.gz.sig +0 -3
data/History.txt
CHANGED
@@ -1,3 +1,17 @@
|
|
1
|
+
=== 2.2.0 / 2009-08-14
|
2
|
+
|
3
|
+
* 1 minor enhancement:
|
4
|
+
|
5
|
+
* #mass pushed up to sexp_processor
|
6
|
+
|
7
|
+
* 5 bug fixes:
|
8
|
+
|
9
|
+
* --group didn't use canonical class name.
|
10
|
+
* Fixed bin/flog to use flog, not flog_files (removed in last rev)
|
11
|
+
* Fixed crasher when processing a block with empty goalposts.
|
12
|
+
* Switching to ruby_parser broke ERB syntax error handling. (imccoy)
|
13
|
+
* skip empty files instead of crashing. yay?
|
14
|
+
|
1
15
|
=== 2.1.2 / 2009-06-24
|
2
16
|
|
3
17
|
* 1 bug fix:
|
data/bin/flog
CHANGED
data/lib/flog.rb
CHANGED
@@ -3,15 +3,8 @@ require 'sexp_processor'
|
|
3
3
|
require 'ruby_parser'
|
4
4
|
require 'optparse'
|
5
5
|
|
6
|
-
# REFACTOR: push up to sexp_processor. also in flay
|
7
|
-
class Sexp
|
8
|
-
def mass
|
9
|
-
@mass ||= self.structure.flatten.size
|
10
|
-
end
|
11
|
-
end
|
12
|
-
|
13
6
|
class Flog < SexpProcessor
|
14
|
-
VERSION = '2.
|
7
|
+
VERSION = '2.2.0'
|
15
8
|
|
16
9
|
THRESHOLD = 0.60
|
17
10
|
SCORES = Hash.new 1
|
@@ -181,10 +174,11 @@ class Flog < SexpProcessor
|
|
181
174
|
warn "** flogging #{file}" if options[:verbose]
|
182
175
|
|
183
176
|
ast = @parser.process(ruby, file)
|
177
|
+
next unless ast
|
184
178
|
mass[file] = ast.mass
|
185
179
|
process ast
|
186
180
|
rescue SyntaxError, Racc::ParseError => e
|
187
|
-
if e.inspect =~ /<%|%>/ then
|
181
|
+
if e.inspect =~ /<%|%>/ or ruby =~ /<%|%>/ then
|
188
182
|
warn "#{e.inspect} at #{e.backtrace.first(5).join(', ')}"
|
189
183
|
warn "\n...stupid lemmings and their bad erb templates... skipping"
|
190
184
|
else
|
@@ -267,7 +261,7 @@ class Flog < SexpProcessor
|
|
267
261
|
methods = Hash.new { |h,k| h[k] = [] }
|
268
262
|
|
269
263
|
calls.sort_by { |k,v| -my_totals[k] }.each do |class_method, call_list|
|
270
|
-
klass = class_method.split(
|
264
|
+
klass = class_method.split(/#/).first
|
271
265
|
score = totals[class_method]
|
272
266
|
methods[klass] << [class_method, score]
|
273
267
|
scores[klass] += score
|
@@ -546,7 +540,8 @@ class Flog < SexpProcessor
|
|
546
540
|
|
547
541
|
add_to_score :branch
|
548
542
|
|
549
|
-
exp.
|
543
|
+
exp.delete 0
|
544
|
+
|
550
545
|
process exp.shift # no penalty for LHS
|
551
546
|
|
552
547
|
penalize_by 0.1 do
|
metadata
CHANGED
@@ -1,36 +1,15 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: flog
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.
|
4
|
+
version: 2.2.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Ryan Davis
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
|
-
cert_chain:
|
11
|
-
- |
|
12
|
-
-----BEGIN CERTIFICATE-----
|
13
|
-
MIIDPjCCAiagAwIBAgIBADANBgkqhkiG9w0BAQUFADBFMRMwEQYDVQQDDApyeWFu
|
14
|
-
ZC1ydWJ5MRkwFwYKCZImiZPyLGQBGRYJemVuc3BpZGVyMRMwEQYKCZImiZPyLGQB
|
15
|
-
GRYDY29tMB4XDTA5MDMwNjE4NTMxNVoXDTEwMDMwNjE4NTMxNVowRTETMBEGA1UE
|
16
|
-
AwwKcnlhbmQtcnVieTEZMBcGCgmSJomT8ixkARkWCXplbnNwaWRlcjETMBEGCgmS
|
17
|
-
JomT8ixkARkWA2NvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALda
|
18
|
-
b9DCgK+627gPJkB6XfjZ1itoOQvpqH1EXScSaba9/S2VF22VYQbXU1xQXL/WzCkx
|
19
|
-
taCPaLmfYIaFcHHCSY4hYDJijRQkLxPeB3xbOfzfLoBDbjvx5JxgJxUjmGa7xhcT
|
20
|
-
oOvjtt5P8+GSK9zLzxQP0gVLS/D0FmoE44XuDr3iQkVS2ujU5zZL84mMNqNB1znh
|
21
|
-
GiadM9GHRaDiaxuX0cIUBj19T01mVE2iymf9I6bEsiayK/n6QujtyCbTWsAS9Rqt
|
22
|
-
qhtV7HJxNKuPj/JFH0D2cswvzznE/a5FOYO68g+YCuFi5L8wZuuM8zzdwjrWHqSV
|
23
|
-
gBEfoTEGr7Zii72cx+sCAwEAAaM5MDcwCQYDVR0TBAIwADALBgNVHQ8EBAMCBLAw
|
24
|
-
HQYDVR0OBBYEFEfFe9md/r/tj/Wmwpy+MI8d9k/hMA0GCSqGSIb3DQEBBQUAA4IB
|
25
|
-
AQAY59gYvDxqSqgC92nAP9P8dnGgfZgLxP237xS6XxFGJSghdz/nI6pusfCWKM8m
|
26
|
-
vzjjH2wUMSSf3tNudQ3rCGLf2epkcU13/rguI88wO6MrE0wi4ZqLQX+eZQFskJb/
|
27
|
-
w6x9W1ur8eR01s397LSMexySDBrJOh34cm2AlfKr/jokKCTwcM0OvVZnAutaovC0
|
28
|
-
l1SVZ0ecg88bsWHA0Yhh7NFxK1utWoIhtB6AFC/+trM0FQEB/jZkIS8SaNzn96Rl
|
29
|
-
n0sZEf77FLf5peR8TP/PtmIg7Cyqz23sLM4mCOoTGIy5OcZ8TdyiyINUHtb5ej/T
|
30
|
-
FBHgymkyj/AOSqKRIpXPhjC6
|
31
|
-
-----END CERTIFICATE-----
|
10
|
+
cert_chain: []
|
32
11
|
|
33
|
-
date: 2009-
|
12
|
+
date: 2009-08-14 00:00:00 -07:00
|
34
13
|
default_executable:
|
35
14
|
dependencies:
|
36
15
|
- !ruby/object:Gem::Dependency
|
@@ -61,7 +40,7 @@ dependencies:
|
|
61
40
|
requirements:
|
62
41
|
- - ">="
|
63
42
|
- !ruby/object:Gem::Version
|
64
|
-
version: 2.3.
|
43
|
+
version: 2.3.3
|
65
44
|
version:
|
66
45
|
description: |-
|
67
46
|
Flog reports the most tortured code in an easy to read pain
|
@@ -128,7 +107,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
128
107
|
requirements: []
|
129
108
|
|
130
109
|
rubyforge_project: seattlerb
|
131
|
-
rubygems_version: 1.3.
|
110
|
+
rubygems_version: 1.3.5
|
132
111
|
signing_key:
|
133
112
|
specification_version: 3
|
134
113
|
summary: Flog reports the most tortured code in an easy to read pain report
|
data.tar.gz.sig
DELETED
metadata.gz.sig
DELETED