Module: MetricFu
- Defined in:
- lib/metric_fu/base.rb,
lib/metric_fu/flay.rb,
lib/metric_fu/flog.rb,
lib/metric_fu/reek.rb,
lib/metric_fu/churn.rb,
lib/metric_fu/roodi.rb,
lib/metric_fu/heckle.rb,
lib/metric_fu/md5_tracker.rb
Defined Under Namespace
Modules: Base, Flog, Heckle, TemplateHelpers
Classes: Churn, Configuration, Flay, MD5Tracker, Reek, Roodi
Class Method Summary
collapse
Class Method Details
.can_churn? ⇒ Boolean
31
32
33
|
# File 'lib/metric_fu/base.rb', line 31
def can_churn?
uses_git? || uses_svn?
end
|
.code_dirs ⇒ Object
39
40
41
42
43
|
# File 'lib/metric_fu/base.rb', line 39
def code_dirs
dirs = ['lib']
dirs << 'app' if is_rails?
dirs.sort{|v1, v2| v1.to_s <=> v2.to_s}
end
|
.configuration ⇒ Object
The Configuration instance used to configure the Rails environment
6
7
8
|
# File 'lib/metric_fu/base.rb', line 6
def configuration
@@configuration ||= Configuration.new
end
|
.default_metrics ⇒ Object
45
46
47
48
49
50
51
|
# File 'lib/metric_fu/base.rb', line 45
def default_metrics
metrics = [:coverage, :flog, :flay, :heckle, :reek, :roodi, :saikuro ]
metrics << :stats if is_rails?
metrics << :churn if can_churn?
metrics.sort{|v1, v2| v1.to_s <=> v2.to_s}
end
|
.generate_churn_report ⇒ Object
.generate_flay_report ⇒ Object
3
4
5
6
|
# File 'lib/metric_fu/flay.rb', line 3
def self.generate_flay_report
Flay.generate_report
system("open #{Flay.metric_dir}/index.html") if open_in_browser?
end
|
.generate_flog_report ⇒ Object
.generate_heckle_report ⇒ Object
.generate_reek_report ⇒ Object
3
4
5
6
|
# File 'lib/metric_fu/reek.rb', line 3
def self.generate_reek_report
Reek.generate_report
system("open #{Reek.metric_dir}/index.html") if open_in_browser?
end
|
.generate_roodi_report ⇒ Object
.is_rails? ⇒ Boolean
35
36
37
|
# File 'lib/metric_fu/base.rb', line 35
def is_rails?
File.exist?("config/environment.rb")
end
|
.metrics ⇒ Object
The metrics configured for this project
11
12
13
|
# File 'lib/metric_fu/base.rb', line 11
def metrics
configuration.metrics
end
|
.open_in_browser? ⇒ Boolean
15
16
17
|
# File 'lib/metric_fu/base.rb', line 15
def open_in_browser?
configuration.general[:open_in_browser] && PLATFORM['darwin'] && !run_by_cruise_control?
end
|
.run_by_cruise_control? ⇒ Boolean
19
20
21
|
# File 'lib/metric_fu/base.rb', line 19
def run_by_cruise_control?
!!ENV['CC_BUILD_ARTIFACTS']
end
|
.uses_git? ⇒ Boolean
23
24
25
|
# File 'lib/metric_fu/base.rb', line 23
def uses_git?
File.exist?(".git")
end
|
.uses_svn? ⇒ Boolean
27
28
29
|
# File 'lib/metric_fu/base.rb', line 27
def uses_svn?
File.exist?(".svn")
end
|