p8-metric_fu 0.8.0.16

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.
@@ -0,0 +1,57 @@
1
+ require File.dirname(__FILE__) + '/spec_helper.rb'
2
+
3
+ describe MetricFu::MD5Tracker do
4
+ before do
5
+ @tmp_dir = File.join(File.dirname(__FILE__), 'tmp')
6
+ FileUtils.mkdir_p(@tmp_dir, :verbose => false) unless File.directory?(@tmp_dir)
7
+ @file1 = File.new(File.join(@tmp_dir, 'file1.txt'), 'w')
8
+ @file2 = File.new(File.join(@tmp_dir, 'file2.txt'), 'w')
9
+ end
10
+
11
+ after do
12
+ FileUtils.rm_rf(@tmp_dir, :verbose => false)
13
+ end
14
+
15
+ it "identical files should match" do
16
+ @file1.puts("Hello World")
17
+ @file1.close
18
+ file1_md5 = MD5Tracker.track(@file1.path, @tmp_dir)
19
+
20
+ @file2.puts("Hello World")
21
+ @file2.close
22
+ file2_md5 = MD5Tracker.track(@file2.path, @tmp_dir)
23
+
24
+ file2_md5.should == file1_md5
25
+ end
26
+
27
+ it "different files should not match" do
28
+ @file1.puts("Hello World")
29
+ @file1.close
30
+ file1_md5 = MD5Tracker.track(@file1.path, @tmp_dir)
31
+
32
+ @file2.puts("Goodbye World")
33
+ @file2.close
34
+ file2_md5 = MD5Tracker.track(@file2.path, @tmp_dir)
35
+
36
+ file2_md5.should_not == file1_md5
37
+ end
38
+
39
+ it "file_changed? should detect a change" do
40
+ @file2.close
41
+
42
+ @file1.puts("Hello World")
43
+ @file1.close
44
+ file1_md5 = MD5Tracker.track(@file1.path, @tmp_dir)
45
+
46
+ @file1 = File.new(File.join(@tmp_dir, 'file1.txt'), 'w')
47
+ @file1.puts("Goodbye World")
48
+ @file1.close
49
+ MD5Tracker.file_changed?(@file1.path, @tmp_dir).should be_true
50
+ end
51
+
52
+ it "should detect a new file" do
53
+ @file2.close
54
+ MD5Tracker.file_changed?(@file1.path, @tmp_dir).should be_true
55
+ File.exist?(MD5Tracker.md5_file(@file1.path, @tmp_dir)).should be_true
56
+ end
57
+ end
data/spec/reek_spec.rb ADDED
@@ -0,0 +1,26 @@
1
+ require File.dirname(__FILE__) + '/spec_helper.rb'
2
+
3
+ REEK_RESULT = %("lib/metric_fu/base.rb" -- 5 warnings:
4
+ [Utility Function] #configuration doesn't depend on instance state
5
+ [Utility Function] #open_in_browser? doesn't depend on instance state
6
+ [Long Method] Configuration#reset has approx 6 statements
7
+ [Utility Function] Generator#cycle doesn't depend on instance state
8
+ [Utility Function] Generator#link_to_filename doesn't depend on instance state)
9
+
10
+ describe MetricFu::Reek do
11
+
12
+ describe "generate_html" do
13
+ it "should create a new Generator and call generate_report on it" do
14
+ @generator = MetricFu::Reek.new('other_dir')
15
+ @generator.should_receive(:`).and_return(REEK_RESULT)
16
+ @generator.generate_html
17
+ end
18
+ end
19
+
20
+ describe "template_name" do
21
+ it "should return the class name in lowercase" do
22
+ flay = MetricFu::Reek.new('base_dir')
23
+ flay.template_name.should == 'reek'
24
+ end
25
+ end
26
+ end
@@ -0,0 +1,11 @@
1
+ require 'rubygems'
2
+ require 'spec'
3
+ require 'date'
4
+
5
+ require File.join(File.dirname(__FILE__), '/../lib/metric_fu/base')
6
+ require File.join(File.dirname(__FILE__), '/../lib/metric_fu/flay')
7
+ require File.join(File.dirname(__FILE__), '/../lib/metric_fu/flog')
8
+ require File.join(File.dirname(__FILE__), '/../lib/metric_fu/md5_tracker')
9
+ require File.join(File.dirname(__FILE__), '/../lib/metric_fu/churn')
10
+ require File.join(File.dirname(__FILE__), '/../lib/metric_fu/reek')
11
+ include MetricFu
metadata ADDED
@@ -0,0 +1,152 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: p8-metric_fu
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.8.0.16
5
+ platform: ruby
6
+ authors:
7
+ - Jake Scruggs
8
+ - Sean Soper
9
+ - Andre Arko
10
+ - Petrik de Heus
11
+ autorequire:
12
+ bindir: bin
13
+ cert_chain: []
14
+
15
+ date: 2009-01-11 00:00:00 -08:00
16
+ default_executable:
17
+ dependencies:
18
+ - !ruby/object:Gem::Dependency
19
+ name: flay
20
+ version_requirement:
21
+ version_requirements: !ruby/object:Gem::Requirement
22
+ requirements:
23
+ - - ">"
24
+ - !ruby/object:Gem::Version
25
+ version: 0.0.0
26
+ version:
27
+ - !ruby/object:Gem::Dependency
28
+ name: flog
29
+ version_requirement:
30
+ version_requirements: !ruby/object:Gem::Requirement
31
+ requirements:
32
+ - - ">="
33
+ - !ruby/object:Gem::Version
34
+ version: 1.2.0
35
+ version:
36
+ - !ruby/object:Gem::Dependency
37
+ name: rcov
38
+ version_requirement:
39
+ version_requirements: !ruby/object:Gem::Requirement
40
+ requirements:
41
+ - - ">"
42
+ - !ruby/object:Gem::Version
43
+ version: 0.8.1
44
+ version:
45
+ - !ruby/object:Gem::Dependency
46
+ name: railroad
47
+ version_requirement:
48
+ version_requirements: !ruby/object:Gem::Requirement
49
+ requirements:
50
+ - - ">="
51
+ - !ruby/object:Gem::Version
52
+ version: 0.5.0
53
+ version:
54
+ - !ruby/object:Gem::Dependency
55
+ name: reek
56
+ version_requirement:
57
+ version_requirements: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - ">"
60
+ - !ruby/object:Gem::Version
61
+ version: 0.0.0
62
+ version:
63
+ - !ruby/object:Gem::Dependency
64
+ name: roodi
65
+ version_requirement:
66
+ version_requirements: !ruby/object:Gem::Requirement
67
+ requirements:
68
+ - - ">"
69
+ - !ruby/object:Gem::Version
70
+ version: 0.0.0
71
+ version:
72
+ description: Code metrics from Flog, Flay, RCov, Saikuro, Churn, and Rails' stats task
73
+ email: jake.scruggs@gmail.com
74
+ executables: []
75
+
76
+ extensions: []
77
+
78
+ extra_rdoc_files:
79
+ - HISTORY
80
+ - Manifest.txt
81
+ - README
82
+ files:
83
+ - README
84
+ - HISTORY
85
+ - TODO
86
+ - MIT-LICENSE
87
+ - Rakefile
88
+ - lib/metric_fu/base.rb
89
+ - lib/metric_fu/churn.rb
90
+ - lib/metric_fu/flay.rb
91
+ - lib/metric_fu/flog.rb
92
+ - lib/metric_fu/reek.rb
93
+ - lib/metric_fu/roodi.rb
94
+ - lib/metric_fu/md5_tracker.rb
95
+ - lib/metric_fu/saikuro/saikuro.rb
96
+ - lib/metric_fu.rb
97
+ - lib/tasks/metric_fu.rb
98
+ - lib/tasks/churn.rake
99
+ - lib/tasks/coverage.rake
100
+ - lib/tasks/flay.rake
101
+ - lib/tasks/flog.rake
102
+ - lib/tasks/metric_fu.rake
103
+ - lib/tasks/railroad.rake
104
+ - lib/tasks/reek.rake
105
+ - lib/tasks/roodi.rake
106
+ - lib/tasks/saikuro.rake
107
+ - lib/tasks/stats.rake
108
+ - lib/templates/churn.html.erb
109
+ - lib/templates/default.css
110
+ - lib/templates/flay.html.erb
111
+ - lib/templates/flog.html.erb
112
+ - lib/templates/flog_page.html.erb
113
+ - lib/templates/reek.html.erb
114
+ - lib/templates/roodi.html.erb
115
+ - Manifest.txt
116
+ has_rdoc: true
117
+ homepage: http://metric-fu.rubyforge.org/
118
+ post_install_message:
119
+ rdoc_options:
120
+ - --main
121
+ - README
122
+ require_paths:
123
+ - lib
124
+ required_ruby_version: !ruby/object:Gem::Requirement
125
+ requirements:
126
+ - - ">="
127
+ - !ruby/object:Gem::Version
128
+ version: "0"
129
+ version:
130
+ required_rubygems_version: !ruby/object:Gem::Requirement
131
+ requirements:
132
+ - - ">="
133
+ - !ruby/object:Gem::Version
134
+ version: "0"
135
+ version:
136
+ requirements: []
137
+
138
+ rubyforge_project:
139
+ rubygems_version: 1.2.0
140
+ signing_key:
141
+ specification_version: 2
142
+ summary: A fistful of code metrics
143
+ test_files:
144
+ - spec/base_spec.rb
145
+ - spec/churn_spec.rb
146
+ - spec/config_spec.rb
147
+ - spec/flay_spec.rb
148
+ - spec/flog_spec.rb
149
+ - spec/md5_tracker_spec.rb
150
+ - spec/reek_spec.rb
151
+ - spec/roodi_spec.rb
152
+ - spec/spec_helper.rb