metric_adapter 0.0.1 → 0.0.2

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.
data/examples/annotate.rb CHANGED
@@ -67,7 +67,7 @@ end
67
67
  # Combine metrics from all our sources (See AnalyzerMixin):
68
68
  metrics = flay(files, 16) + flog(files) + reek(files)
69
69
 
70
- metrics_by_path = metrics.group_by{|m| m.location.path }
70
+ metrics_by_path = metrics.group_by{|m| m.path }
71
71
 
72
72
  files.each do |path|
73
73
  metrics = metrics_by_path[path]
data/examples/report.rb CHANGED
@@ -22,7 +22,7 @@ end
22
22
  metrics = flay(files) + flog(files) + reek(files)
23
23
 
24
24
  # Group those metrics by path
25
- metrics_by_path = metrics.group_by{|m| m.location.path }
25
+ metrics_by_path = metrics.group_by{|m| m.path }
26
26
 
27
27
  # For each path, print out a little report.
28
28
  metrics_by_path.each do |path, metrics|
@@ -31,7 +31,7 @@ metrics_by_path.each do |path, metrics|
31
31
  puts divider
32
32
 
33
33
  puts " line: message"
34
- metrics.sort_by{|m| m.location }.each do |m|
35
- puts "%6d: %s" % [m.location.line, m.message]
34
+ metrics.sort_by{|m| m.line }.each do |m|
35
+ puts "%6d: %s" % [m.line, m.message]
36
36
  end
37
37
  end
data/lib/metric.rb CHANGED
@@ -3,7 +3,7 @@ module MetricAdapter
3
3
  # A normalized representation of a code metric.
4
4
  class Metric
5
5
 
6
- # Location where this metric applies
6
+ # Location where this metric applies (see the Location class)
7
7
  attr_accessor :location
8
8
 
9
9
  # Associated class and method signature
@@ -24,6 +24,17 @@ module MetricAdapter
24
24
  @message = message
25
25
  @score = 0
26
26
  end
27
-
27
+
28
+ # Returns the path that this metric applies to, for example:
29
+ # ./lib/metric.rb
30
+ def path
31
+ location.path
32
+ end
33
+
34
+ # Returns the line number this metric applies to.
35
+ def line
36
+ location.line
37
+ end
38
+
28
39
  end
29
40
  end
@@ -25,10 +25,9 @@ class FlayAdapterTest < MiniTest::Unit::TestCase
25
25
  def test_flay_adapts_locations
26
26
  adapter = flay_self
27
27
  metric = adapter.metrics.first
28
- location = metric.location
29
28
 
30
- assert_equal __FILE__, location.path, "Should reference this file"
31
- assert location.line != 0, "Line numbers should be captured (line:0 should not show up in flog)"
29
+ assert_equal __FILE__, metric.path, "Should reference this file"
30
+ assert metric.line != 0, "Line numbers should be captured (line:0 should not show up in flog)"
32
31
  end
33
32
 
34
33
  def test_flay_messages
@@ -16,10 +16,9 @@ class FlogAdapterTest < MiniTest::Unit::TestCase
16
16
  def test_flogging_adapts_locations
17
17
  adapter = flog_self
18
18
  metric = adapter.metrics.first
19
- location = metric.location
20
19
 
21
- assert_equal __FILE__, location.path, "Should reference this file"
22
- assert location.line != 0, "Line numbers should be captured (line:0 should not show up in flog)"
20
+ assert_equal __FILE__, metric.path, "Should reference this file"
21
+ assert metric.line != 0, "Line numbers should be captured (line:0 should not show up in flog)"
23
22
  end
24
23
 
25
24
  def test_flogging_messages
@@ -18,10 +18,9 @@ class ReekAdapterTest < MiniTest::Unit::TestCase
18
18
  def test_examiner_adapts_locations
19
19
  adapter = examine_sample
20
20
  metric = adapter.metrics.first
21
- location = metric.location
22
21
 
23
- assert_equal SAMPLE_PATH, location.path, "Should have included the path"
24
- assert location.line > 0, "Should have a non zero line number"
22
+ assert_equal SAMPLE_PATH, metric.path, "Should have included the path"
23
+ assert metric.line > 0, "Should have a non zero line number"
25
24
  end
26
25
 
27
26
  def test_examiner_returns_metrics_for_each_line_of_each_smell
metadata CHANGED
@@ -5,8 +5,8 @@ version: !ruby/object:Gem::Version
5
5
  segments:
6
6
  - 0
7
7
  - 0
8
- - 1
9
- version: 0.0.1
8
+ - 2
9
+ version: 0.0.2
10
10
  platform: ruby
11
11
  authors:
12
12
  - Adam Sanderson
@@ -14,7 +14,7 @@ autorequire:
14
14
  bindir: bin
15
15
  cert_chain: []
16
16
 
17
- date: 2013-06-25 00:00:00 -07:00
17
+ date: 2013-06-26 00:00:00 -07:00
18
18
  default_executable:
19
19
  dependencies: []
20
20