metric_fu 2.1.3.6 → 2.1.3.7.18.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.
@@ -1,5 +1,3 @@
1
1
  language: ruby
2
2
  rvm:
3
- - 1.9.3
4
- - 1.9.2
5
3
  - 1.8.7
data/HISTORY.md CHANGED
@@ -1,3 +1,7 @@
1
+ === MetricFu 2.1.3.7 / 2013-01-08
2
+
3
+ * Bug fix, ensure Configuration is loaded before Run, https://github.com/metricfu/metric_fu/issues/36
4
+
1
5
  === MetricFu 2.1.3.6 / 2013-01-02
2
6
 
3
7
  * Fixed bug that wasn't show stats or rails_best_practices graphs
data/README.md CHANGED
@@ -1,18 +1,25 @@
1
- This is the official repository for metric_fu.
1
+ This is the official repository for metric_fu. The original repository by Jake Scruggs at [https://github.com/jscruggs/metric_fu](https://github.com/jscruggs/metric_fu) [has been deprecated.](http://jakescruggs.blogspot.com/2012/08/why-i-abandoned-metricfu.html).
2
2
 
3
- It is currently testing on MRI 1.8.7 and 1.9.3
3
+ __Installation__
4
+
5
+ gem install metric_fu
6
+
7
+ See documentation on the rubyforge page for how to customize your metrics.
8
+
9
+ By default, you can run all metrics from the root of an app with the command `metric_fu`
4
10
 
5
- The original repository by Jake Scruggs at [https://github.com/jscruggs/metric_fu](https://github.com/jscruggs/metric_fu) [has been deprecated.](http://jakescruggs.blogspot.com/2012/08/why-i-abandoned-metricfu.html).
11
+ You may also wish to use the `metricfu-metrical` fork, which will probably be merged in at some point.
6
12
 
7
- The gem is published on rubygems.org as metric_fu
13
+ __Compatibility__
14
+
15
+ It is currently testing on MRI 1.8.7 and 1.9.3
8
16
 
9
- There is also a related metricfu-metrical gem published
17
+ * The `japgolly-Saikuro` fork and `metric_fu-roodi` fork are a part of an attempt to get metric_fu working in a modern Ruby environment, specifically compatibility with Ruby 1.9 and Bundler.
10
18
 
11
- The japgolly-Saikuro fork is a part of an attempt to get metric_fu working in a modern
19
+ * Until we can upgrade to the latest RubyParser, metric_fu will fail on parsing some 1.9 code, e.g. the new hash syntax, and possibly have issues with encodings
12
20
 
13
- Please note that rake version 10.0.2 cannot be used, whereas 0.8.7 and 0.9.2 do work.
21
+ * Please note that rake version 10.0.2 cannot be used, whereas 0.8.7 and 0.9.2 do work.
14
22
 
15
- Ruby environment, specifically compatibility with Ruby 1.9 and Bundler.
16
23
 
17
24
  __CI Build Status__
18
25
 
@@ -57,14 +64,13 @@ The more of the above steps you do the easier it will be for me to merge in whic
57
64
 
58
65
  Resources:
59
66
 
60
- Github: http://github.com/metricfu/metric_fu
61
- Issue Tracker: http://github.com/metricfu/metric_fu/issues
62
- My Blog: http://benjaminfleischer.com
67
+ * Github: http://github.com/metricfu/metric_fu
68
+ * Issue Tracker: http://github.com/metricfu/metric_fu/issues
69
+ * Google Group: http://groups.google.com/group/metric_fu
70
+ * Homepage: http://metric-fu.rubyforge.org/
63
71
 
64
72
  Original Resources:
65
73
 
66
- Homepage: http://metric-fu.rubyforge.org/
67
- Github: http://github.com/jscruggs/metric_fu
68
- Google Group: http://groups.google.com/group/metric_fu
69
- Issue Tracker: http://github.com/jscruggs/metric_fu/issues
70
- My Blog: http://jakescruggs.blogspot.com/
74
+ * Github: http://github.com/jscruggs/metric_fu
75
+ * Issue Tracker: http://github.com/jscruggs/metric_fu/issues
76
+ * My Blog: http://jakescruggs.blogspot.com/
data/TODO.md CHANGED
@@ -9,15 +9,18 @@
9
9
  * cane https://github.com/square/cane
10
10
  * laser https://github.com/metricfu/laser
11
11
  * Add configurable logger to all output streams
12
+ * Allow command-line metric_fu to accept parameters, and especially output its version
12
13
  * Color code flog results with scale from: http://jakescruggs.blogspot.com/2008/08/whats-good-flog-score.html
13
14
  * Make running metric_fu on metric_fu less embarrassing
14
15
  * Load all gems at config time so you fail fast if one is missing
15
16
 
17
+
16
18
  ## Testing
17
19
 
18
20
  * Determine how to test metric_fu against codebases that are not metric_fu, to ensure it works on most applications
19
21
  * Re-organize test files structure to align with changed structure of library files
20
22
  * Remove / Modify Devver code from the generators/hotspots_spec and base/hotspot_analzyer_spec
23
+ * Don't leave around test artifacts such as the folders './foo' and './is set'
21
24
 
22
25
  ## Bugs / Fixes
23
26
 
@@ -33,6 +36,7 @@
33
36
  ## Misc
34
37
 
35
38
  * Determine if CodeIssue is used, else remove it
39
+ * Remove references to Ruport from the Devver / Caliper code
36
40
  * Update the homepage http://metric-fu.rubyforge.org/
37
41
  * Other intersting libraries to consider:
38
42
  * https://github.com/vinibaggio/discover-unused-partials
@@ -1,2 +1,3 @@
1
- require File.expand_path(File.join(File.dirname(__FILE__),'..','lib','metric_fu'))
1
+ #!/usr/bin/env ruby
2
+ require 'metric_fu'
2
3
  MetricFu::Run.new.run
data/lib/run.rb CHANGED
@@ -1,13 +1,13 @@
1
- MetricFu::Configuration.run do |config|
2
- config.roodi = config.roodi.merge(:roodi_config => "#{MetricFu.root_dir}/config/roodi_config.yml")
3
- config.churn = { :start_date => "1 year ago", :minimum_churn_count => 10}
4
- config.hotspots = { :start_date => "1 year ago", :minimum_churn_count => 10}
5
- end
1
+ MetricFu.lib_require { 'configuration' }
6
2
  module MetricFu
7
3
  class Run
8
4
  def initialize
9
5
  STDOUT.sync = true
10
- MetricFu::Configuration.run {}
6
+ MetricFu::Configuration.run do |config|
7
+ config.roodi = config.roodi.merge(:roodi_config => "#{MetricFu.root_dir}/config/roodi_config.yml")
8
+ config.churn = { :start_date => "1 year ago", :minimum_churn_count => 10}
9
+ config.hotspots = { :start_date => "1 year ago", :minimum_churn_count => 10}
10
+ end
11
11
  end
12
12
  def run
13
13
  add_metrics
@@ -1,3 +1,3 @@
1
1
  module MetricFu
2
- VERSION = "2.1.3.6"
2
+ VERSION = "2.1.3.7.18.1"
3
3
  end
@@ -5,57 +5,46 @@ Gem::Specification.new do |s|
5
5
  s.name = "metric_fu"
6
6
  s.platform = Gem::Platform::RUBY
7
7
  s.version = MetricFu::VERSION
8
- s.summary = "A fistful of code metrics, with awesome templates and graphs"
8
+ s.summary = "A (Ruby 1.8) fistful of code metrics, with awesome templates and graphs"
9
9
  s.email = "github@benjaminfleischer.com"
10
10
  s.homepage = "http://github.com/metricfu/metric_fu"
11
- s.description = "Code metrics from Flog, Flay, Simplecov-RCov, Saikuro, Churn, Reek, Roodi, Rails' stats task and Rails Best Practices"
11
+ s.description = "(Ruby 1.8) Code metrics from Flog, Flay, RCov, Saikuro, Churn, Reek, Roodi, Rails' stats task and Rails Best Practices"
12
12
  s.authors = ["Jake Scruggs", "Sean Soper", "Andre Arko", "Petrik de Heus", "Grant McInnes", "Nick Quaranto", "Édouard Brière", "Carl Youngblood", "Richard Huang", "Dan Mayer", "Benjamin Fleischer"]
13
13
  s.rubyforge_project = 'metric_fu'
14
- s.required_ruby_version = ">= 1.8.7"
15
- s.required_rubygems_version = ">= 1.3.6"
14
+ s.required_ruby_version = "~> 1.8.7"
15
+ # s.required_rubygems_version = ">= 1.3.6" per http://docs.rubygems.org/read/chapter/20#required_ruby_version, do not use
16
16
  s.files = `git ls-files`.split($\)
17
17
  s.test_files = s.files.grep(%r{^(test|spec|features)/})
18
18
  s.executables = s.files.grep(%r{^bin/}).map{ |f| File.basename(f) }
19
19
  s.require_paths = ["lib"]
20
20
  s.license = 'MIT'
21
-
22
21
  {
23
22
  "flay" => ["= 1.2.1"],
24
- "flog" => ["= 2.3.0"],
25
- "reek" => ["= 1.2.12"],
26
23
  "metric_fu-roodi" => [">= 2.2.0"],
27
24
  "rails_best_practices" => ["~> 0.10.1"],
25
+ "rcov" => ["~> 0.8"],
26
+ "Saikuro" => ["= 1.1.0"],
27
+
28
+ "reek" => ["= 1.2.12"],
29
+ "flog" => ["= 2.3.0"],
28
30
  "churn" => ["= 0.0.25"],
29
- "sexp_processor" => ["~> 3.0.3"], # required because of churn, flog, reek 1.2.12, ripper_ruby_parser 0.0.8
30
- # "ruby_parser" => ["~> 2.3"], # required because of churn, flog, reek 1.2.12, ripper_ruby_parser 0.0.8
31
- "activesupport" => [">= 2.0.0"], # ok
32
- # "syntax" => ["= 1.0.0"],
31
+ "sexp_processor" => ["~> 3.0.3"], # required because of churn, flog, reek 1.2.12, ripper_ruby_parser 0.0.8
32
+ # "ruby_parser" => ["~> 2.3"], # required because of churn, flog, reek 1.2.12, ripper_ruby_parser 0.0.8
33
+
34
+
33
35
  "coderay" => [],
36
+ "bluff" => [],
37
+ "googlecharts" => [],
38
+ "activesupport" => [">= 2.0.0"],
39
+ "ripper" => ["= 1.0.5"],
34
40
  "fattr" => ["= 2.2.1"],
35
41
  "arrayfields" => [" =4.7.4"],
36
- "map" => [" =6.2.0"],
37
- "bluff" => [],
38
- "googlecharts" => []
42
+ "map" => [" =6.2.0"]
39
43
  }.each do |gem, version|
40
44
  if version == []
41
- s.add_dependency(gem)
45
+ s.add_runtime_dependency(gem)
42
46
  else
43
- s.add_dependency(gem,version)
47
+ s.add_runtime_dependency(gem,version)
44
48
  end
45
49
  end
46
- # string comparison ftw
47
- if RUBY_VERSION < '1.9'
48
- s.add_dependency("ripper",[" =1.0.5"])
49
- s.add_dependency("rcov", ["~> 0.8"])
50
- s.add_dependency("Saikuro", ["= 1.1.0"])
51
- else
52
- s.add_dependency("rcov", ["~> 0.8"])
53
- s.add_dependency("japgolly-Saikuro", ">= 1.1.1.0")
54
- # still using rcov in ruby 1.9 till some errors are fleshed out
55
- # s.add_dependency("simplecov", [">= 0.5.4"])
56
- # s.add_dependency("simplecov-rcov", [">= 0.2.3"])
57
- end
58
-
59
-
60
50
  end
61
-
metadata CHANGED
@@ -1,14 +1,16 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: metric_fu
3
3
  version: !ruby/object:Gem::Version
4
- hash: 103
4
+ hash: 349
5
5
  prerelease:
6
6
  segments:
7
7
  - 2
8
8
  - 1
9
9
  - 3
10
- - 6
11
- version: 2.1.3.6
10
+ - 7
11
+ - 18
12
+ - 1
13
+ version: 2.1.3.7.18.1
12
14
  platform: ruby
13
15
  authors:
14
16
  - Jake Scruggs
@@ -26,7 +28,7 @@ autorequire:
26
28
  bindir: bin
27
29
  cert_chain: []
28
30
 
29
- date: 2013-01-02 00:00:00 Z
31
+ date: 2013-01-09 00:00:00 Z
30
32
  dependencies:
31
33
  - !ruby/object:Gem::Dependency
32
34
  requirement: &id001 !ruby/object:Gem::Requirement
@@ -64,14 +66,14 @@ dependencies:
64
66
  requirements:
65
67
  - - "="
66
68
  - !ruby/object:Gem::Version
67
- hash: 5
69
+ hash: 19
68
70
  segments:
69
- - 2
70
- - 2
71
71
  - 1
72
- version: 2.2.1
72
+ - 1
73
+ - 0
74
+ version: 1.1.0
73
75
  prerelease: false
74
- name: fattr
76
+ name: Saikuro
75
77
  version_requirements: *id003
76
78
  type: :runtime
77
79
  - !ruby/object:Gem::Dependency
@@ -80,28 +82,30 @@ dependencies:
80
82
  requirements:
81
83
  - - "="
82
84
  - !ruby/object:Gem::Version
83
- hash: 39
85
+ hash: 5
84
86
  segments:
85
- - 6
86
87
  - 2
87
- - 0
88
- version: 6.2.0
88
+ - 2
89
+ - 1
90
+ version: 2.2.1
89
91
  prerelease: false
90
- name: map
92
+ name: fattr
91
93
  version_requirements: *id004
92
94
  type: :runtime
93
95
  - !ruby/object:Gem::Dependency
94
96
  requirement: &id005 !ruby/object:Gem::Requirement
95
97
  none: false
96
98
  requirements:
97
- - - ">="
99
+ - - "="
98
100
  - !ruby/object:Gem::Version
99
- hash: 3
101
+ hash: 39
100
102
  segments:
103
+ - 6
104
+ - 2
101
105
  - 0
102
- version: "0"
106
+ version: 6.2.0
103
107
  prerelease: false
104
- name: googlecharts
108
+ name: map
105
109
  version_requirements: *id005
106
110
  type: :runtime
107
111
  - !ruby/object:Gem::Dependency
@@ -110,44 +114,45 @@ dependencies:
110
114
  requirements:
111
115
  - - "="
112
116
  - !ruby/object:Gem::Version
113
- hash: 43
117
+ hash: 29
114
118
  segments:
115
- - 4
116
- - 7
117
- - 4
118
- version: 4.7.4
119
+ - 1
120
+ - 0
121
+ - 5
122
+ version: 1.0.5
119
123
  prerelease: false
120
- name: arrayfields
124
+ name: ripper
121
125
  version_requirements: *id006
122
126
  type: :runtime
123
127
  - !ruby/object:Gem::Dependency
124
128
  requirement: &id007 !ruby/object:Gem::Requirement
125
129
  none: false
126
130
  requirements:
127
- - - "="
131
+ - - ~>
128
132
  - !ruby/object:Gem::Version
129
- hash: 7
133
+ hash: 27
130
134
  segments:
131
- - 1
132
- - 2
133
- - 12
134
- version: 1.2.12
135
+ - 0
136
+ - 8
137
+ version: "0.8"
135
138
  prerelease: false
136
- name: reek
139
+ name: rcov
137
140
  version_requirements: *id007
138
141
  type: :runtime
139
142
  - !ruby/object:Gem::Dependency
140
143
  requirement: &id008 !ruby/object:Gem::Requirement
141
144
  none: false
142
145
  requirements:
143
- - - ">="
146
+ - - "="
144
147
  - !ruby/object:Gem::Version
145
- hash: 3
148
+ hash: 43
146
149
  segments:
147
- - 0
148
- version: "0"
150
+ - 4
151
+ - 7
152
+ - 4
153
+ version: 4.7.4
149
154
  prerelease: false
150
- name: coderay
155
+ name: arrayfields
151
156
  version_requirements: *id008
152
157
  type: :runtime
153
158
  - !ruby/object:Gem::Dependency
@@ -156,46 +161,44 @@ dependencies:
156
161
  requirements:
157
162
  - - ">="
158
163
  - !ruby/object:Gem::Version
159
- hash: 15
164
+ hash: 3
160
165
  segments:
161
- - 2
162
- - 0
163
166
  - 0
164
- version: 2.0.0
167
+ version: "0"
165
168
  prerelease: false
166
- name: activesupport
169
+ name: googlecharts
167
170
  version_requirements: *id009
168
171
  type: :runtime
169
172
  - !ruby/object:Gem::Dependency
170
173
  requirement: &id010 !ruby/object:Gem::Requirement
171
174
  none: false
172
175
  requirements:
173
- - - ~>
176
+ - - "="
174
177
  - !ruby/object:Gem::Version
175
- hash: 1
178
+ hash: 7
176
179
  segments:
177
- - 3
178
- - 0
179
- - 3
180
- version: 3.0.3
180
+ - 1
181
+ - 2
182
+ - 12
183
+ version: 1.2.12
181
184
  prerelease: false
182
- name: sexp_processor
185
+ name: reek
183
186
  version_requirements: *id010
184
187
  type: :runtime
185
188
  - !ruby/object:Gem::Dependency
186
189
  requirement: &id011 !ruby/object:Gem::Requirement
187
190
  none: false
188
191
  requirements:
189
- - - ~>
192
+ - - ">="
190
193
  - !ruby/object:Gem::Version
191
- hash: 53
194
+ hash: 15
192
195
  segments:
196
+ - 2
193
197
  - 0
194
- - 10
195
- - 1
196
- version: 0.10.1
198
+ - 0
199
+ version: 2.0.0
197
200
  prerelease: false
198
- name: rails_best_practices
201
+ name: activesupport
199
202
  version_requirements: *id011
200
203
  type: :runtime
201
204
  - !ruby/object:Gem::Dependency
@@ -204,46 +207,44 @@ dependencies:
204
207
  requirements:
205
208
  - - ">="
206
209
  - !ruby/object:Gem::Version
207
- hash: 7
210
+ hash: 3
208
211
  segments:
209
- - 2
210
- - 2
211
212
  - 0
212
- version: 2.2.0
213
+ version: "0"
213
214
  prerelease: false
214
- name: metric_fu-roodi
215
+ name: coderay
215
216
  version_requirements: *id012
216
217
  type: :runtime
217
218
  - !ruby/object:Gem::Dependency
218
219
  requirement: &id013 !ruby/object:Gem::Requirement
219
220
  none: false
220
221
  requirements:
221
- - - "="
222
+ - - ~>
222
223
  - !ruby/object:Gem::Version
223
- hash: 3
224
+ hash: 1
224
225
  segments:
225
- - 2
226
226
  - 3
227
227
  - 0
228
- version: 2.3.0
228
+ - 3
229
+ version: 3.0.3
229
230
  prerelease: false
230
- name: flog
231
+ name: sexp_processor
231
232
  version_requirements: *id013
232
233
  type: :runtime
233
234
  - !ruby/object:Gem::Dependency
234
235
  requirement: &id014 !ruby/object:Gem::Requirement
235
236
  none: false
236
237
  requirements:
237
- - - "="
238
+ - - ~>
238
239
  - !ruby/object:Gem::Version
239
- hash: 29
240
+ hash: 53
240
241
  segments:
242
+ - 0
243
+ - 10
241
244
  - 1
242
- - 2
243
- - 1
244
- version: 1.2.1
245
+ version: 0.10.1
245
246
  prerelease: false
246
- name: flay
247
+ name: rails_best_practices
247
248
  version_requirements: *id014
248
249
  type: :runtime
249
250
  - !ruby/object:Gem::Dependency
@@ -252,29 +253,30 @@ dependencies:
252
253
  requirements:
253
254
  - - "="
254
255
  - !ruby/object:Gem::Version
255
- hash: 29
256
+ hash: 3
256
257
  segments:
257
- - 1
258
+ - 2
259
+ - 3
258
260
  - 0
259
- - 5
260
- version: 1.0.5
261
+ version: 2.3.0
261
262
  prerelease: false
262
- name: ripper
263
+ name: flog
263
264
  version_requirements: *id015
264
265
  type: :runtime
265
266
  - !ruby/object:Gem::Dependency
266
267
  requirement: &id016 !ruby/object:Gem::Requirement
267
268
  none: false
268
269
  requirements:
269
- - - ~>
270
+ - - ">="
270
271
  - !ruby/object:Gem::Version
271
- hash: 27
272
+ hash: 7
272
273
  segments:
274
+ - 2
275
+ - 2
273
276
  - 0
274
- - 8
275
- version: "0.8"
277
+ version: 2.2.0
276
278
  prerelease: false
277
- name: rcov
279
+ name: metric_fu-roodi
278
280
  version_requirements: *id016
279
281
  type: :runtime
280
282
  - !ruby/object:Gem::Dependency
@@ -283,17 +285,17 @@ dependencies:
283
285
  requirements:
284
286
  - - "="
285
287
  - !ruby/object:Gem::Version
286
- hash: 19
288
+ hash: 29
287
289
  segments:
288
290
  - 1
291
+ - 2
289
292
  - 1
290
- - 0
291
- version: 1.1.0
293
+ version: 1.2.1
292
294
  prerelease: false
293
- name: Saikuro
295
+ name: flay
294
296
  version_requirements: *id017
295
297
  type: :runtime
296
- description: Code metrics from Flog, Flay, Simplecov-RCov, Saikuro, Churn, Reek, Roodi, Rails' stats task and Rails Best Practices
298
+ description: (Ruby 1.8) Code metrics from Flog, Flay, RCov, Saikuro, Churn, Reek, Roodi, Rails' stats task and Rails Best Practices
297
299
  email: github@benjaminfleischer.com
298
300
  executables:
299
301
  - metric_fu
@@ -468,7 +470,7 @@ require_paths:
468
470
  required_ruby_version: !ruby/object:Gem::Requirement
469
471
  none: false
470
472
  requirements:
471
- - - ">="
473
+ - - ~>
472
474
  - !ruby/object:Gem::Version
473
475
  hash: 57
474
476
  segments:
@@ -481,19 +483,17 @@ required_rubygems_version: !ruby/object:Gem::Requirement
481
483
  requirements:
482
484
  - - ">="
483
485
  - !ruby/object:Gem::Version
484
- hash: 23
486
+ hash: 3
485
487
  segments:
486
- - 1
487
- - 3
488
- - 6
489
- version: 1.3.6
488
+ - 0
489
+ version: "0"
490
490
  requirements: []
491
491
 
492
492
  rubyforge_project: metric_fu
493
493
  rubygems_version: 1.8.24
494
494
  signing_key:
495
495
  specification_version: 3
496
- summary: A fistful of code metrics, with awesome templates and graphs
496
+ summary: A (Ruby 1.8) fistful of code metrics, with awesome templates and graphs
497
497
  test_files:
498
498
  - spec/base/base_template_spec.rb
499
499
  - spec/base/configuration_spec.rb