rubycritic 0.0.10 → 0.0.11
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/rubycritic.rb +4 -4
- data/lib/rubycritic/analysers/churn.rb +16 -0
- data/lib/rubycritic/analysers/flog.rb +1 -2
- data/lib/rubycritic/analysers_runner.rb +7 -7
- data/lib/rubycritic/quality_adapters/flog.rb +20 -0
- data/lib/rubycritic/report_generators/assets/javascripts/application.js +56 -0
- data/lib/rubycritic/report_generators/assets/javascripts/highcharts.src.js +17672 -0
- data/lib/rubycritic/report_generators/assets/stylesheets/application.css +5 -0
- data/lib/rubycritic/report_generators/overview_generator.rb +24 -0
- data/lib/rubycritic/report_generators/reporter.rb +11 -5
- data/lib/rubycritic/report_generators/templates/layouts/application.html.erb +4 -2
- data/lib/rubycritic/report_generators/templates/overview.html.erb +5 -0
- data/lib/rubycritic/report_generators/view_helpers.rb +4 -0
- data/lib/rubycritic/revision_comparator.rb +1 -3
- data/lib/rubycritic/smell_adapters/flay.rb +3 -2
- data/lib/rubycritic/smell_adapters/flog.rb +4 -2
- data/lib/rubycritic/smell_adapters/reek.rb +3 -2
- data/lib/rubycritic/source_control_systems/git.rb +4 -0
- data/lib/rubycritic/source_control_systems/source_control_system.rb +4 -0
- data/lib/rubycritic/turbulence.rb +32 -0
- data/lib/rubycritic/version.rb +1 -1
- data/test/lib/rubycritic/analysers/churn_test.rb +23 -0
- data/test/lib/rubycritic/analysers_runner_test.rb +3 -3
- data/test/lib/rubycritic/quality_adapters/flog_test.rb +18 -0
- data/test/lib/rubycritic/{metric_adapters/flay_adapter_test.rb → smell_adapters/flay_test.rb} +2 -4
- data/test/lib/rubycritic/{metric_adapters/flog_adapter_test.rb → smell_adapters/flog_test.rb} +3 -5
- data/test/lib/rubycritic/{metric_adapters/reek_adapter_test.rb → smell_adapters/reek_test.rb} +4 -7
- data/test/lib/rubycritic/turbulence_test.rb +27 -0
- data/test/samples/flog/smelly2.rb +11 -0
- metadata +22 -11
- data/lib/rubycritic/smells_aggregator.rb +0 -13
- data/test/lib/rubycritic/smells_aggregator_test.rb +0 -32
@@ -0,0 +1,24 @@
|
|
1
|
+
require "erb"
|
2
|
+
require "rubycritic/report_generators/base_generator"
|
3
|
+
require "json"
|
4
|
+
|
5
|
+
module Rubycritic
|
6
|
+
|
7
|
+
class OverviewGenerator < BaseGenerator
|
8
|
+
TEMPLATE = erb_template("overview.html.erb")
|
9
|
+
|
10
|
+
def initialize(turbulence_data)
|
11
|
+
@turbulence_data = turbulence_data.to_json
|
12
|
+
end
|
13
|
+
|
14
|
+
def file_name
|
15
|
+
"overview.html"
|
16
|
+
end
|
17
|
+
|
18
|
+
def render
|
19
|
+
index_body = TEMPLATE.result(get_binding)
|
20
|
+
LAYOUT_TEMPLATE.result(get_binding { index_body })
|
21
|
+
end
|
22
|
+
end
|
23
|
+
|
24
|
+
end
|
@@ -1,5 +1,6 @@
|
|
1
1
|
require "rubycritic/report_generators/base_generator"
|
2
2
|
require "rubycritic/report_generators/file_generator"
|
3
|
+
require "rubycritic/report_generators/overview_generator"
|
3
4
|
require "rubycritic/report_generators/code_index_generator"
|
4
5
|
require "rubycritic/report_generators/smells_index_generator"
|
5
6
|
require "fileutils"
|
@@ -9,9 +10,10 @@ module Rubycritic
|
|
9
10
|
class Reporter
|
10
11
|
ASSETS_DIR = File.expand_path("../assets", __FILE__)
|
11
12
|
|
12
|
-
def initialize(source_pathnames, smells)
|
13
|
+
def initialize(source_pathnames, smells, turbulence_data)
|
13
14
|
@source_pathnames = source_pathnames
|
14
15
|
@smells = smells
|
16
|
+
@turbulence_data = turbulence_data
|
15
17
|
@smelly_pathnames = pathnames_to_files_with_smells
|
16
18
|
end
|
17
19
|
|
@@ -23,13 +25,17 @@ module Rubycritic
|
|
23
25
|
end
|
24
26
|
end
|
25
27
|
FileUtils.cp_r(ASSETS_DIR, ::Rubycritic.configuration.root)
|
26
|
-
|
28
|
+
overview_generator.file_href
|
27
29
|
end
|
28
30
|
|
29
31
|
private
|
30
32
|
|
31
33
|
def generators
|
32
|
-
[code_index_generator, smells_index_generator] + file_generators
|
34
|
+
[overview_generator, code_index_generator, smells_index_generator] + file_generators
|
35
|
+
end
|
36
|
+
|
37
|
+
def overview_generator
|
38
|
+
@overview_generator ||= OverviewGenerator.new(@turbulence_data)
|
33
39
|
end
|
34
40
|
|
35
41
|
def code_index_generator
|
@@ -50,8 +56,8 @@ module Rubycritic
|
|
50
56
|
def pathnames_to_files_with_smells
|
51
57
|
pathnames = Hash.new { |hash, key| hash[key] = [] }
|
52
58
|
@smells.each do |smell|
|
53
|
-
smell.pathnames.each do |
|
54
|
-
pathnames[
|
59
|
+
smell.pathnames.each do |pathname|
|
60
|
+
pathnames[pathname] << smell
|
55
61
|
end
|
56
62
|
end
|
57
63
|
pathnames
|
@@ -3,21 +3,23 @@
|
|
3
3
|
<head>
|
4
4
|
<meta charset="utf-8">
|
5
5
|
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
6
|
-
<title>
|
6
|
+
<title>RubyCritic</title>
|
7
7
|
<link href="<%= stylesheet_path(:application) %>" media="screen, projection, print" rel="stylesheet" type="text/css">
|
8
8
|
<link href="<%= stylesheet_path(:'prettify.custom_theme') %>" media="screen, projection, print" rel="stylesheet" type="text/css">
|
9
9
|
<meta name="viewport" content="width=device-width, initial-scale=1">
|
10
10
|
</head>
|
11
11
|
<body>
|
12
12
|
<header class="project-header group">
|
13
|
-
<h1 class="logo"><a href="<%=
|
13
|
+
<h1 class="logo"><a href="<%= overview_path %>" class="logo-link">RubyCritic</a></h1>
|
14
14
|
<nav class="project-nav">
|
15
|
+
<a href="<%= overview_path %>" class="project-nav-item">Overview</a>
|
15
16
|
<a href="<%= code_index_path %>" class="project-nav-item">Code</a>
|
16
17
|
<a href="<%= smells_index_path %>" class="project-nav-item">Smells</a>
|
17
18
|
</nav>
|
18
19
|
</header>
|
19
20
|
<%= yield %>
|
20
21
|
<script src="<%= javascript_path(:'jquery-2.1.0') %>"></script>
|
22
|
+
<script src="<%= javascript_path(:'highcharts.src') %>"></script>
|
21
23
|
<script src="<%= javascript_path(:prettify) %>"></script>
|
22
24
|
<script src="<%= javascript_path(:application) %>"></script>
|
23
25
|
</body>
|
@@ -18,6 +18,10 @@ module Rubycritic
|
|
18
18
|
File.join(root_directory, "#{pathname.sub_ext('.html')}#L#{location.line}")
|
19
19
|
end
|
20
20
|
|
21
|
+
def overview_path
|
22
|
+
File.join(root_directory, "overview.html")
|
23
|
+
end
|
24
|
+
|
21
25
|
def code_index_path
|
22
26
|
File.join(root_directory, "code_index.html")
|
23
27
|
end
|
@@ -1,7 +1,6 @@
|
|
1
1
|
require "rubycritic/smells_serializer"
|
2
2
|
require "rubycritic/source_locator"
|
3
3
|
require "rubycritic/analysers_runner"
|
4
|
-
require "rubycritic/smells_aggregator"
|
5
4
|
require "rubycritic/smells_status_setter"
|
6
5
|
|
7
6
|
module Rubycritic
|
@@ -27,8 +26,7 @@ module Rubycritic
|
|
27
26
|
else
|
28
27
|
smells = nil
|
29
28
|
@source_control_system.travel_to_head do
|
30
|
-
|
31
|
-
smells = SmellsAggregator.new(smell_adapters).smells
|
29
|
+
smells = AnalysersRunner.new(paths_of_tracked_files).run
|
32
30
|
end
|
33
31
|
serializer.dump(smells)
|
34
32
|
smells
|
@@ -1,11 +1,12 @@
|
|
1
|
+
require "rubycritic/analysers/flay"
|
1
2
|
require "rubycritic/smell"
|
2
3
|
|
3
4
|
module Rubycritic
|
4
5
|
module SmellAdapter
|
5
6
|
|
6
7
|
class Flay
|
7
|
-
def initialize(
|
8
|
-
@flay =
|
8
|
+
def initialize(paths)
|
9
|
+
@flay = ::Rubycritic::Analyser::Flay.new(paths)
|
9
10
|
end
|
10
11
|
|
11
12
|
def smells
|
@@ -1,3 +1,4 @@
|
|
1
|
+
require "rubycritic/analysers/flog"
|
1
2
|
require "rubycritic/smell"
|
2
3
|
|
3
4
|
module Rubycritic
|
@@ -7,8 +8,9 @@ module Rubycritic
|
|
7
8
|
HIGH_COMPLEXITY_SCORE_THRESHOLD = 25
|
8
9
|
VERY_HIGH_COMPLEXITY_SCORE_THRESHOLD = 60
|
9
10
|
|
10
|
-
def initialize(
|
11
|
-
@flog =
|
11
|
+
def initialize(paths)
|
12
|
+
@flog = ::Rubycritic::Analyser::Flog.new
|
13
|
+
@flog.flog(*paths)
|
12
14
|
end
|
13
15
|
|
14
16
|
def smells
|
@@ -1,11 +1,12 @@
|
|
1
|
+
require "rubycritic/analysers/reek"
|
1
2
|
require "rubycritic/smell"
|
2
3
|
|
3
4
|
module Rubycritic
|
4
5
|
module SmellAdapter
|
5
6
|
|
6
7
|
class Reek
|
7
|
-
def initialize(
|
8
|
-
@reek =
|
8
|
+
def initialize(paths)
|
9
|
+
@reek = ::Rubycritic::Analyser::Reek.new(paths)
|
9
10
|
end
|
10
11
|
|
11
12
|
def smells
|
@@ -39,6 +39,10 @@ module Rubycritic
|
|
39
39
|
def travel_to_head
|
40
40
|
raise NotImplementedError.new("The #{self.class} class must implement the #{__method__} method.")
|
41
41
|
end
|
42
|
+
|
43
|
+
def revisions_count(file)
|
44
|
+
raise NotImplementedError.new("The #{self.class} class must implement the #{__method__} method.")
|
45
|
+
end
|
42
46
|
end
|
43
47
|
|
44
48
|
end
|
@@ -0,0 +1,32 @@
|
|
1
|
+
require "rubycritic/analysers/churn"
|
2
|
+
require "rubycritic/analysers/flog"
|
3
|
+
require "rubycritic/quality_adapters/flog"
|
4
|
+
|
5
|
+
module Rubycritic
|
6
|
+
|
7
|
+
class Turbulence
|
8
|
+
def initialize(paths, source_control_system)
|
9
|
+
@paths = paths
|
10
|
+
@source_control_system = source_control_system
|
11
|
+
end
|
12
|
+
|
13
|
+
def data
|
14
|
+
@paths.zip(churn, complexity).map do |path_info|
|
15
|
+
{
|
16
|
+
name: path_info[0],
|
17
|
+
x: path_info[1],
|
18
|
+
y: path_info[2]
|
19
|
+
}
|
20
|
+
end
|
21
|
+
end
|
22
|
+
|
23
|
+
def churn
|
24
|
+
@churn ||= Analyser::Churn.new(@paths, @source_control_system).churn
|
25
|
+
end
|
26
|
+
|
27
|
+
def complexity
|
28
|
+
@complexity ||= QualityAdapter::Flog.new(@paths).complexity
|
29
|
+
end
|
30
|
+
end
|
31
|
+
|
32
|
+
end
|
data/lib/rubycritic/version.rb
CHANGED
@@ -0,0 +1,23 @@
|
|
1
|
+
require "test_helper"
|
2
|
+
require "rubycritic/analysers/churn"
|
3
|
+
require "rubycritic/source_control_systems/source_control_system"
|
4
|
+
|
5
|
+
describe Rubycritic::Analyser::Churn do
|
6
|
+
before do
|
7
|
+
sample_paths = ["path_to_some_file.rb"]
|
8
|
+
source_control_system = SourceControlSystemDouble.new
|
9
|
+
@churn = Rubycritic::Analyser::Churn.new(sample_paths, source_control_system)
|
10
|
+
end
|
11
|
+
|
12
|
+
describe "#churn" do
|
13
|
+
it "returns an array containing the number of times each file has changed" do
|
14
|
+
@churn.churn.must_equal [1]
|
15
|
+
end
|
16
|
+
end
|
17
|
+
end
|
18
|
+
|
19
|
+
class SourceControlSystemDouble < Rubycritic::SourceControlSystem
|
20
|
+
def revisions_count(file)
|
21
|
+
1 # churn
|
22
|
+
end
|
23
|
+
end
|
@@ -3,9 +3,9 @@ require "rubycritic/analysers_runner"
|
|
3
3
|
|
4
4
|
describe Rubycritic::AnalysersRunner do
|
5
5
|
describe "#run" do
|
6
|
-
it "returns
|
7
|
-
|
8
|
-
|
6
|
+
it "returns the smells found by various analysers" do
|
7
|
+
smells = Rubycritic::AnalysersRunner.new("test/samples/analysers_runner/empty.rb").run
|
8
|
+
smells.must_be_instance_of Array
|
9
9
|
end
|
10
10
|
end
|
11
11
|
end
|
@@ -0,0 +1,18 @@
|
|
1
|
+
require "test_helper"
|
2
|
+
require "rubycritic/analysers/flog"
|
3
|
+
require "rubycritic/quality_adapters/flog"
|
4
|
+
|
5
|
+
describe Rubycritic::QualityAdapter::Flog do
|
6
|
+
before do
|
7
|
+
sample_paths = ["test/samples/flog/smelly.rb", "test/samples/flog/smelly2.rb"]
|
8
|
+
@adapter = Rubycritic::QualityAdapter::Flog.new(sample_paths)
|
9
|
+
end
|
10
|
+
|
11
|
+
describe "#complexity" do
|
12
|
+
it "return an array containing the complexity of each file" do
|
13
|
+
@adapter.complexity.each do |file_complexity|
|
14
|
+
file_complexity.must_be_kind_of Numeric
|
15
|
+
end
|
16
|
+
end
|
17
|
+
end
|
18
|
+
end
|
data/test/lib/rubycritic/{metric_adapters/flay_adapter_test.rb → smell_adapters/flay_test.rb}
RENAMED
@@ -1,12 +1,10 @@
|
|
1
1
|
require "test_helper"
|
2
|
-
require "rubycritic/analysers/flay"
|
3
2
|
require "rubycritic/smell_adapters/flay"
|
4
3
|
|
5
4
|
describe Rubycritic::SmellAdapter::Flay do
|
6
5
|
before do
|
7
|
-
|
8
|
-
|
9
|
-
@adapter = Rubycritic::SmellAdapter::Flay.new(flay)
|
6
|
+
sample_paths = ["test/samples/flay/smelly.rb"]
|
7
|
+
@adapter = Rubycritic::SmellAdapter::Flay.new(sample_paths)
|
10
8
|
end
|
11
9
|
|
12
10
|
it "detects smells" do
|
data/test/lib/rubycritic/{metric_adapters/flog_adapter_test.rb → smell_adapters/flog_test.rb}
RENAMED
@@ -1,12 +1,10 @@
|
|
1
1
|
require "test_helper"
|
2
|
-
require "rubycritic/analysers/flog"
|
3
2
|
require "rubycritic/smell_adapters/flog"
|
4
3
|
|
5
4
|
describe Rubycritic::SmellAdapter::Flog do
|
6
5
|
before do
|
7
|
-
|
8
|
-
|
9
|
-
@adapter = Rubycritic::SmellAdapter::Flog.new(flog)
|
6
|
+
sample_paths = ["test/samples/flog/smelly.rb"]
|
7
|
+
@adapter = Rubycritic::SmellAdapter::Flog.new(sample_paths)
|
10
8
|
end
|
11
9
|
|
12
10
|
it "detects smells" do
|
@@ -15,7 +13,7 @@ describe Rubycritic::SmellAdapter::Flog do
|
|
15
13
|
|
16
14
|
it "has smells with messages" do
|
17
15
|
smell = @adapter.smells.first
|
18
|
-
smell.message.
|
16
|
+
smell.message.must_be_instance_of String
|
19
17
|
end
|
20
18
|
|
21
19
|
it "has smells with scores" do
|
data/test/lib/rubycritic/{metric_adapters/reek_adapter_test.rb → smell_adapters/reek_test.rb}
RENAMED
@@ -1,13 +1,11 @@
|
|
1
1
|
require "test_helper"
|
2
|
-
require "rubycritic/analysers/reek"
|
3
2
|
require "rubycritic/smell_adapters/reek"
|
4
3
|
|
5
4
|
describe Rubycritic::SmellAdapter::Reek do
|
6
5
|
context "when analysing a smelly file" do
|
7
6
|
before do
|
8
|
-
|
9
|
-
|
10
|
-
@adapter = Rubycritic::SmellAdapter::Reek.new(reek)
|
7
|
+
sample_paths = ["test/samples/reek/smelly.rb"]
|
8
|
+
@adapter = Rubycritic::SmellAdapter::Reek.new(sample_paths)
|
11
9
|
end
|
12
10
|
|
13
11
|
it "detects smells" do
|
@@ -22,9 +20,8 @@ describe Rubycritic::SmellAdapter::Reek do
|
|
22
20
|
|
23
21
|
context "when analysing a file with smells ignored in config.reek" do
|
24
22
|
before do
|
25
|
-
|
26
|
-
|
27
|
-
@adapter = Rubycritic::SmellAdapter::Reek.new(reek)
|
23
|
+
sample_paths = ["test/samples/reek/not_smelly.rb"]
|
24
|
+
@adapter = Rubycritic::SmellAdapter::Reek.new(sample_paths)
|
28
25
|
end
|
29
26
|
|
30
27
|
it "does not detect smells" do
|
@@ -0,0 +1,27 @@
|
|
1
|
+
require "test_helper"
|
2
|
+
require "rubycritic/turbulence"
|
3
|
+
require "rubycritic/source_control_systems/source_control_system"
|
4
|
+
|
5
|
+
describe Rubycritic::Turbulence do
|
6
|
+
before do
|
7
|
+
@sample_path = "test/samples/flog/smelly.rb"
|
8
|
+
@sample_paths = [@sample_path]
|
9
|
+
@source_control_system = SourceControlSystemDouble.new
|
10
|
+
end
|
11
|
+
|
12
|
+
describe "#data" do
|
13
|
+
it "returns an array of hashes containing the path, churn and complexity of each file" do
|
14
|
+
data = Rubycritic::Turbulence.new(@sample_paths, @source_control_system).data
|
15
|
+
data_instance = data.first
|
16
|
+
data_instance[:name].must_equal @sample_path
|
17
|
+
data_instance[:x].must_equal 1 # churn
|
18
|
+
data_instance[:y].must_be_kind_of Numeric # complexity
|
19
|
+
end
|
20
|
+
end
|
21
|
+
end
|
22
|
+
|
23
|
+
class SourceControlSystemDouble < Rubycritic::SourceControlSystem
|
24
|
+
def revisions_count(file)
|
25
|
+
1 # churn
|
26
|
+
end
|
27
|
+
end
|
@@ -0,0 +1,11 @@
|
|
1
|
+
class AllTheMethods
|
2
|
+
def method_missing(method, *args, &block)
|
3
|
+
message = "I"
|
4
|
+
eval "message = ' did not'"
|
5
|
+
eval "message << ' exist,'"
|
6
|
+
eval "message << ' but now'"
|
7
|
+
eval "message << ' I do.'"
|
8
|
+
self.class.send(:define_method, method) { "I did not exist, but now I do." }
|
9
|
+
self.send(method)
|
10
|
+
end
|
11
|
+
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rubycritic
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.11
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Guilherme Simoes
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2014-05-
|
11
|
+
date: 2014-05-12 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: virtus
|
@@ -141,6 +141,7 @@ files:
|
|
141
141
|
- bin/rubycritic
|
142
142
|
- lib/rubycritic.rb
|
143
143
|
- lib/rubycritic/active_support/methods.rb
|
144
|
+
- lib/rubycritic/analysers/churn.rb
|
144
145
|
- lib/rubycritic/analysers/config.reek
|
145
146
|
- lib/rubycritic/analysers/flay.rb
|
146
147
|
- lib/rubycritic/analysers/flog.rb
|
@@ -149,7 +150,9 @@ files:
|
|
149
150
|
- lib/rubycritic/cli.rb
|
150
151
|
- lib/rubycritic/configuration.rb
|
151
152
|
- lib/rubycritic/location.rb
|
153
|
+
- lib/rubycritic/quality_adapters/flog.rb
|
152
154
|
- lib/rubycritic/report_generators/assets/javascripts/application.js
|
155
|
+
- lib/rubycritic/report_generators/assets/javascripts/highcharts.src.js
|
153
156
|
- lib/rubycritic/report_generators/assets/javascripts/jquery-2.1.0.js
|
154
157
|
- lib/rubycritic/report_generators/assets/javascripts/prettify.js
|
155
158
|
- lib/rubycritic/report_generators/assets/stylesheets/application.css
|
@@ -158,12 +161,14 @@ files:
|
|
158
161
|
- lib/rubycritic/report_generators/code_index_generator.rb
|
159
162
|
- lib/rubycritic/report_generators/file_generator.rb
|
160
163
|
- lib/rubycritic/report_generators/line_generator.rb
|
164
|
+
- lib/rubycritic/report_generators/overview_generator.rb
|
161
165
|
- lib/rubycritic/report_generators/reporter.rb
|
162
166
|
- lib/rubycritic/report_generators/smells_index_generator.rb
|
163
167
|
- lib/rubycritic/report_generators/templates/code_index.html.erb
|
164
168
|
- lib/rubycritic/report_generators/templates/file.html.erb
|
165
169
|
- lib/rubycritic/report_generators/templates/layouts/application.html.erb
|
166
170
|
- lib/rubycritic/report_generators/templates/line.html.erb
|
171
|
+
- lib/rubycritic/report_generators/templates/overview.html.erb
|
167
172
|
- lib/rubycritic/report_generators/templates/smells_index.html.erb
|
168
173
|
- lib/rubycritic/report_generators/templates/smelly_line.html.erb
|
169
174
|
- lib/rubycritic/report_generators/view_helpers.rb
|
@@ -172,30 +177,33 @@ files:
|
|
172
177
|
- lib/rubycritic/smell_adapters/flay.rb
|
173
178
|
- lib/rubycritic/smell_adapters/flog.rb
|
174
179
|
- lib/rubycritic/smell_adapters/reek.rb
|
175
|
-
- lib/rubycritic/smells_aggregator.rb
|
176
180
|
- lib/rubycritic/smells_serializer.rb
|
177
181
|
- lib/rubycritic/smells_status_setter.rb
|
178
182
|
- lib/rubycritic/source_control_systems/git.rb
|
179
183
|
- lib/rubycritic/source_control_systems/source_control_system.rb
|
180
184
|
- lib/rubycritic/source_locator.rb
|
185
|
+
- lib/rubycritic/turbulence.rb
|
181
186
|
- lib/rubycritic/version.rb
|
182
187
|
- rubycritic.gemspec
|
188
|
+
- test/lib/rubycritic/analysers/churn_test.rb
|
183
189
|
- test/lib/rubycritic/analysers_runner_test.rb
|
184
190
|
- test/lib/rubycritic/configuration_test.rb
|
185
191
|
- test/lib/rubycritic/location_test.rb
|
186
|
-
- test/lib/rubycritic/
|
187
|
-
- test/lib/rubycritic/
|
188
|
-
- test/lib/rubycritic/
|
192
|
+
- test/lib/rubycritic/quality_adapters/flog_test.rb
|
193
|
+
- test/lib/rubycritic/smell_adapters/flay_test.rb
|
194
|
+
- test/lib/rubycritic/smell_adapters/flog_test.rb
|
195
|
+
- test/lib/rubycritic/smell_adapters/reek_test.rb
|
189
196
|
- test/lib/rubycritic/smell_test.rb
|
190
|
-
- test/lib/rubycritic/smells_aggregator_test.rb
|
191
197
|
- test/lib/rubycritic/smells_array_test.rb
|
192
198
|
- test/lib/rubycritic/smells_status_setter_test.rb
|
193
199
|
- test/lib/rubycritic/source_control_systems/source_control_system_test.rb
|
194
200
|
- test/lib/rubycritic/source_locator_test.rb
|
201
|
+
- test/lib/rubycritic/turbulence_test.rb
|
195
202
|
- test/lib/rubycritic/version_test.rb
|
196
203
|
- test/samples/analysers_runner/empty.rb
|
197
204
|
- test/samples/flay/smelly.rb
|
198
205
|
- test/samples/flog/smelly.rb
|
206
|
+
- test/samples/flog/smelly2.rb
|
199
207
|
- test/samples/location/dir1/file1.rb
|
200
208
|
- test/samples/location/file0.rb
|
201
209
|
- test/samples/location/file_with_different_extension.py
|
@@ -228,22 +236,25 @@ signing_key:
|
|
228
236
|
specification_version: 4
|
229
237
|
summary: Ruby code smell detector
|
230
238
|
test_files:
|
239
|
+
- test/lib/rubycritic/analysers/churn_test.rb
|
231
240
|
- test/lib/rubycritic/analysers_runner_test.rb
|
232
241
|
- test/lib/rubycritic/configuration_test.rb
|
233
242
|
- test/lib/rubycritic/location_test.rb
|
234
|
-
- test/lib/rubycritic/
|
235
|
-
- test/lib/rubycritic/
|
236
|
-
- test/lib/rubycritic/
|
243
|
+
- test/lib/rubycritic/quality_adapters/flog_test.rb
|
244
|
+
- test/lib/rubycritic/smell_adapters/flay_test.rb
|
245
|
+
- test/lib/rubycritic/smell_adapters/flog_test.rb
|
246
|
+
- test/lib/rubycritic/smell_adapters/reek_test.rb
|
237
247
|
- test/lib/rubycritic/smell_test.rb
|
238
|
-
- test/lib/rubycritic/smells_aggregator_test.rb
|
239
248
|
- test/lib/rubycritic/smells_array_test.rb
|
240
249
|
- test/lib/rubycritic/smells_status_setter_test.rb
|
241
250
|
- test/lib/rubycritic/source_control_systems/source_control_system_test.rb
|
242
251
|
- test/lib/rubycritic/source_locator_test.rb
|
252
|
+
- test/lib/rubycritic/turbulence_test.rb
|
243
253
|
- test/lib/rubycritic/version_test.rb
|
244
254
|
- test/samples/analysers_runner/empty.rb
|
245
255
|
- test/samples/flay/smelly.rb
|
246
256
|
- test/samples/flog/smelly.rb
|
257
|
+
- test/samples/flog/smelly2.rb
|
247
258
|
- test/samples/location/dir1/file1.rb
|
248
259
|
- test/samples/location/file0.rb
|
249
260
|
- test/samples/location/file_with_different_extension.py
|