rubycritic 0.0.10 → 0.0.11
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.
- 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
|