tailor 0.1.3 → 0.1.4
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/.gemtest +0 -0
- data/.gitignore +7 -0
- data/.infinity_test +4 -0
- data/.rspec +1 -0
- data/ChangeLog.rdoc +48 -0
- data/Gemfile +2 -0
- data/Gemfile.lock +107 -0
- data/README.rdoc +9 -4
- data/Rakefile +16 -81
- data/bin/tailor +41 -10
- data/features/step_definitions/spacing_steps.rb +1 -1
- data/features/support/1_file_with_bad_curly_brace_spacing/bad_curly_brace_spacing.rb +1 -1
- data/features/support/1_file_with_bad_square_brackets/bad_square_brackets.rb +1 -1
- data/features/support/1_long_file_with_indentation/my_project.rb +1 -1
- data/features/support/env.rb +1 -1
- data/lib/tailor.rb +7 -8
- data/lib/tailor/file_line.rb +23 -27
- data/lib/tailor/indentation.rb +19 -25
- data/lib/tailor/spacing.rb +13 -19
- data/lib/tailor/version.rb +3 -0
- data/spec/file_line_spec.rb +2 -2
- data/spec/indentation_spec.rb +10 -10
- data/spec/spacing/colon_spacing_spec.rb +1 -1
- data/spec/spacing/comma_spacing_spec.rb +1 -1
- data/spec/spacing/curly_brace_spacing_spec.rb +2 -3
- data/spec/spacing/parentheses_spacing_spec.rb +2 -2
- data/spec/spacing/square_bracket_spacing_spec.rb +2 -2
- data/spec/spacing_spec.rb +1 -1
- data/spec/spec_helper.rb +1 -8
- data/spec/tailor_spec.rb +2 -2
- data/tailor.gemspec +45 -0
- data/{lib/tasks → tasks}/metrics.rake +0 -0
- data/{lib/tasks → tasks}/stats.rake +3 -2
- metadata +130 -195
- data/.autotest +0 -24
- data/History.txt +0 -40
- data/Manifest.txt +0 -61
- data/PostInstall.txt +0 -10
- data/features/development.feature +0 -13
- data/features/step_definitions/common_steps.rb +0 -175
- data/lib/tailor/grammars/bad_comma_style.citrus +0 -53
- data/logic.txt +0 -30
- data/output.txt +0 -6577
- data/ruby-style-checker.rb +0 -167
- data/script/console +0 -10
- data/script/destroy +0 -14
- data/script/generate +0 -14
- data/spec/spec.opts +0 -1
- data/tasks/rspec.rake +0 -21
data/.gemtest
ADDED
|
File without changes
|
data/.gitignore
ADDED
data/.infinity_test
ADDED
data/.rspec
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
--colour --format documentation
|
data/ChangeLog.rdoc
ADDED
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
=== 0.1.4 2011-09-27
|
|
2
|
+
|
|
3
|
+
* gh-81: Return exit status of 1 if problems were found.
|
|
4
|
+
* Fixed Rakefile and .gemspec. [sergio-fry]
|
|
5
|
+
* Removed dependency on jeweler for gem building.
|
|
6
|
+
* Added -v/--version to bin/tailor.
|
|
7
|
+
* Fixed documenatation indentation.
|
|
8
|
+
|
|
9
|
+
=== 0.1.3 2010-12-14
|
|
10
|
+
|
|
11
|
+
* Added check for .erb files.
|
|
12
|
+
|
|
13
|
+
=== 0.1.2 2010-09-01
|
|
14
|
+
|
|
15
|
+
* Added ability to check a single file.
|
|
16
|
+
|
|
17
|
+
=== 0.1.0 2010-05-21
|
|
18
|
+
|
|
19
|
+
* Added checks for spacing around { and }.
|
|
20
|
+
* Added check for spacing around ternary ':'.
|
|
21
|
+
* Colorized error messages to be red.
|
|
22
|
+
* Problem message are now grouped by file line (when multiple problems per line).
|
|
23
|
+
* Temporarily removed reporting of # of trailing whitespaces.
|
|
24
|
+
|
|
25
|
+
=== 0.0.3 2010-04-26
|
|
26
|
+
|
|
27
|
+
* Added checks for spacing around commas.
|
|
28
|
+
* Added checks for spacing around open/closed parenthesis/brackets.
|
|
29
|
+
|
|
30
|
+
=== 0.0.2 2010-04-23
|
|
31
|
+
|
|
32
|
+
* Renamed project from ruby_style_checker to Tailor.
|
|
33
|
+
* Added check for lines > 80 characters.
|
|
34
|
+
|
|
35
|
+
=== 0.0.1 2010-04-22
|
|
36
|
+
|
|
37
|
+
* Initial release!
|
|
38
|
+
* Command-line executable takes a directory and checks all files, recursively.
|
|
39
|
+
* Checks for:
|
|
40
|
+
* Indentation
|
|
41
|
+
* Hard-tabs in indentation
|
|
42
|
+
* Name cases
|
|
43
|
+
* Snake case class & module names
|
|
44
|
+
* Camel case method names
|
|
45
|
+
* Extra whitespace
|
|
46
|
+
* At the end of lines
|
|
47
|
+
* On empty lines
|
|
48
|
+
* After commas
|
data/Gemfile
ADDED
data/Gemfile.lock
ADDED
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
PATH
|
|
2
|
+
remote: .
|
|
3
|
+
specs:
|
|
4
|
+
tailor (0.1.4)
|
|
5
|
+
term-ansicolor (>= 1.0.5)
|
|
6
|
+
|
|
7
|
+
GEM
|
|
8
|
+
remote: http://rubygems.org/
|
|
9
|
+
specs:
|
|
10
|
+
Saikuro (1.1.0)
|
|
11
|
+
activesupport (3.1.0)
|
|
12
|
+
multi_json (~> 1.0)
|
|
13
|
+
builder (3.0.0)
|
|
14
|
+
chronic (0.3.0)
|
|
15
|
+
churn (0.0.13)
|
|
16
|
+
chronic (>= 0.2.3)
|
|
17
|
+
hirb
|
|
18
|
+
json_pure
|
|
19
|
+
main
|
|
20
|
+
ruby_parser (~> 2.0.4)
|
|
21
|
+
sexp_processor (~> 3.0.3)
|
|
22
|
+
code_statistics (0.2.13)
|
|
23
|
+
colored (1.2)
|
|
24
|
+
cucumber (1.1.0)
|
|
25
|
+
builder (>= 2.1.2)
|
|
26
|
+
diff-lcs (>= 1.1.2)
|
|
27
|
+
gherkin (~> 2.5.0)
|
|
28
|
+
json (>= 1.4.6)
|
|
29
|
+
term-ansicolor (>= 1.0.6)
|
|
30
|
+
diff-lcs (1.1.3)
|
|
31
|
+
erubis (2.7.0)
|
|
32
|
+
flay (1.4.3)
|
|
33
|
+
ruby_parser (~> 2.0)
|
|
34
|
+
sexp_processor (~> 3.0)
|
|
35
|
+
flog (2.5.3)
|
|
36
|
+
ruby_parser (~> 2.0)
|
|
37
|
+
sexp_processor (~> 3.0)
|
|
38
|
+
gherkin (2.5.1)
|
|
39
|
+
json (>= 1.4.6)
|
|
40
|
+
haml (3.1.3)
|
|
41
|
+
hirb (0.5.0)
|
|
42
|
+
i18n (0.6.0)
|
|
43
|
+
json (1.6.1)
|
|
44
|
+
json_pure (1.6.1)
|
|
45
|
+
main (4.7.1)
|
|
46
|
+
metric_fu (2.1.1)
|
|
47
|
+
Saikuro (>= 1.1.0)
|
|
48
|
+
activesupport (>= 2.0.0)
|
|
49
|
+
chronic (~> 0.3.0)
|
|
50
|
+
churn (>= 0.0.7)
|
|
51
|
+
flay (>= 1.2.1)
|
|
52
|
+
flog (>= 2.3.0)
|
|
53
|
+
rails_best_practices (>= 0.6.4)
|
|
54
|
+
rcov (>= 0.8.3.3)
|
|
55
|
+
reek (>= 1.2.6)
|
|
56
|
+
roodi (>= 2.1.0)
|
|
57
|
+
syntax
|
|
58
|
+
multi_json (1.0.3)
|
|
59
|
+
rails_best_practices (1.0.1)
|
|
60
|
+
activesupport
|
|
61
|
+
colored
|
|
62
|
+
erubis
|
|
63
|
+
haml
|
|
64
|
+
i18n
|
|
65
|
+
ruby-progressbar
|
|
66
|
+
ruby_parser
|
|
67
|
+
rcov (0.9.10)
|
|
68
|
+
reek (1.2.8)
|
|
69
|
+
ruby2ruby (~> 1.2)
|
|
70
|
+
ruby_parser (~> 2.0)
|
|
71
|
+
sexp_processor (~> 3.0)
|
|
72
|
+
roodi (2.1.0)
|
|
73
|
+
ruby_parser
|
|
74
|
+
rspec (2.6.0)
|
|
75
|
+
rspec-core (~> 2.6.0)
|
|
76
|
+
rspec-expectations (~> 2.6.0)
|
|
77
|
+
rspec-mocks (~> 2.6.0)
|
|
78
|
+
rspec-core (2.6.4)
|
|
79
|
+
rspec-expectations (2.6.0)
|
|
80
|
+
diff-lcs (~> 1.1.2)
|
|
81
|
+
rspec-mocks (2.6.0)
|
|
82
|
+
ruby-progressbar (0.0.10)
|
|
83
|
+
ruby2ruby (1.3.1)
|
|
84
|
+
ruby_parser (~> 2.0)
|
|
85
|
+
sexp_processor (~> 3.0)
|
|
86
|
+
ruby_parser (2.0.6)
|
|
87
|
+
sexp_processor (~> 3.0)
|
|
88
|
+
sexp_processor (3.0.7)
|
|
89
|
+
simplecov (0.5.3)
|
|
90
|
+
multi_json (~> 1.0.3)
|
|
91
|
+
simplecov-html (~> 0.5.3)
|
|
92
|
+
simplecov-html (0.5.3)
|
|
93
|
+
syntax (1.0.0)
|
|
94
|
+
term-ansicolor (1.0.6)
|
|
95
|
+
yard (0.7.2)
|
|
96
|
+
|
|
97
|
+
PLATFORMS
|
|
98
|
+
ruby
|
|
99
|
+
|
|
100
|
+
DEPENDENCIES
|
|
101
|
+
code_statistics (~> 0.2.13)
|
|
102
|
+
cucumber (>= 0.10.2)
|
|
103
|
+
metric_fu (>= 2.0.0)
|
|
104
|
+
rspec (>= 2.5.0)
|
|
105
|
+
simplecov (>= 0.4.0)
|
|
106
|
+
tailor!
|
|
107
|
+
yard (>= 0.6.8)
|
data/README.rdoc
CHANGED
|
@@ -10,7 +10,7 @@ here http://wiki.github.com/turboladen/tailor.
|
|
|
10
10
|
|
|
11
11
|
== FEATURES/PROBLEMS:
|
|
12
12
|
|
|
13
|
-
* Checks for bad style in
|
|
13
|
+
* Checks for bad style in .rb and .erb files
|
|
14
14
|
* Recursively in a directory, or...
|
|
15
15
|
* A given file
|
|
16
16
|
* Checks for:
|
|
@@ -44,7 +44,12 @@ working on solving this.
|
|
|
44
44
|
|
|
45
45
|
== REQUIREMENTS:
|
|
46
46
|
|
|
47
|
-
*
|
|
47
|
+
* Rubies (tested)
|
|
48
|
+
* 1.8.7
|
|
49
|
+
* 1.9.2
|
|
50
|
+
* 1.9.3-preview1
|
|
51
|
+
* Gems
|
|
52
|
+
* term-ansicolor
|
|
48
53
|
|
|
49
54
|
== INSTALL:
|
|
50
55
|
|
|
@@ -54,7 +59,7 @@ working on solving this.
|
|
|
54
59
|
|
|
55
60
|
(The MIT License)
|
|
56
61
|
|
|
57
|
-
Copyright (c) 2010 Steve Loveless
|
|
62
|
+
Copyright (c) 2010-2011 Steve Loveless
|
|
58
63
|
|
|
59
64
|
Permission is hereby granted, free of charge, to any person obtaining
|
|
60
65
|
a copy of this software and associated documentation files (the
|
|
@@ -73,4 +78,4 @@ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
|
|
|
73
78
|
IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
|
|
74
79
|
CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
|
|
75
80
|
TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
|
|
76
|
-
SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
|
81
|
+
SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
data/Rakefile
CHANGED
|
@@ -1,81 +1,16 @@
|
|
|
1
|
-
require '
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
def get_descr_from_readme
|
|
18
|
-
paragraph_count = 0
|
|
19
|
-
File.readlines('README.rdoc', '').each do |paragraph|
|
|
20
|
-
paragraph_count += 1
|
|
21
|
-
if paragraph_count == 4
|
|
22
|
-
return paragraph
|
|
23
|
-
end
|
|
24
|
-
end
|
|
25
|
-
end
|
|
26
|
-
|
|
27
|
-
# Generate all the Rake tasks
|
|
28
|
-
# Run 'rake -T' to see list of generated tasks (from gem root directory)
|
|
29
|
-
$hoe = Hoe.spec 'tailor' do
|
|
30
|
-
self.summary = "Utility for checking style of Ruby files."
|
|
31
|
-
self.developer('Steve Loveless', 'steve.loveless@gmail.com')
|
|
32
|
-
self.post_install_message = File.readlines 'PostInstall.txt'
|
|
33
|
-
self.rubyforge_name = self.name
|
|
34
|
-
self.version = Tailor::VERSION
|
|
35
|
-
self.url = 'http://github.com/turboladen/tailor'
|
|
36
|
-
self.description = get_descr_from_readme
|
|
37
|
-
self.readme_file = 'README.rdoc'
|
|
38
|
-
self.history_file = 'History.txt'
|
|
39
|
-
self.rspec_options += ['--color', '--format', 'specdoc']
|
|
40
|
-
self.extra_deps += [
|
|
41
|
-
['term-ansicolor']
|
|
42
|
-
]
|
|
43
|
-
self.extra_dev_deps += [
|
|
44
|
-
['rspec'],
|
|
45
|
-
['yard', '>=0.5.3'],
|
|
46
|
-
['hoe-yard', '>=0.1.2'],
|
|
47
|
-
['cucumber', '>=0.6.3']
|
|
48
|
-
]
|
|
49
|
-
|
|
50
|
-
self.test_globs = 'spec/*.rb'
|
|
51
|
-
|
|
52
|
-
# Extra Yard options
|
|
53
|
-
self.yard_title = "#{self.name} Documentation (#{self.version})"
|
|
54
|
-
self.yard_markup = :rdoc
|
|
55
|
-
self.yard_opts += ['--main', self.readme_file]
|
|
56
|
-
self.yard_opts += ['--output-dir', 'doc']
|
|
57
|
-
self.yard_opts += ['--private']
|
|
58
|
-
self.yard_opts += ['--protected']
|
|
59
|
-
self.yard_opts += ['--verbose']
|
|
60
|
-
self.yard_opts += ['--files',
|
|
61
|
-
['Manifest.txt', 'History.txt']
|
|
62
|
-
]
|
|
63
|
-
end
|
|
64
|
-
|
|
65
|
-
#-------------------------------------------------------------------------------
|
|
66
|
-
# Overwrite the :clobber_docs Rake task so that it doesn't destroy our docs
|
|
67
|
-
# directory.
|
|
68
|
-
#-------------------------------------------------------------------------------
|
|
69
|
-
class Rake::Task
|
|
70
|
-
def overwrite(&block)
|
|
71
|
-
@actions.clear
|
|
72
|
-
enhance(&block)
|
|
73
|
-
end
|
|
74
|
-
end
|
|
75
|
-
|
|
76
|
-
Rake::Task[:clobber_docs].overwrite do
|
|
77
|
-
end
|
|
78
|
-
|
|
79
|
-
# Now define the tasks
|
|
80
|
-
require 'newgem/tasks'
|
|
81
|
-
|
|
1
|
+
require 'bundler/gem_tasks'
|
|
2
|
+
|
|
3
|
+
# Load rakefile extensions
|
|
4
|
+
Dir["tasks/*.rake"].each { |ext| load ext }
|
|
5
|
+
|
|
6
|
+
require 'cucumber/rake/task'
|
|
7
|
+
Cucumber::Rake::Task.new(:features)
|
|
8
|
+
|
|
9
|
+
require 'yard'
|
|
10
|
+
YARD::Rake::YardocTask.new
|
|
11
|
+
|
|
12
|
+
require 'rspec/core/rake_task'
|
|
13
|
+
RSpec::Core::RakeTask.new
|
|
14
|
+
|
|
15
|
+
desc "Run RSpec code examples"
|
|
16
|
+
task :test => :spec
|
data/bin/tailor
CHANGED
|
@@ -7,35 +7,66 @@ $:.unshift(File.dirname(__FILE__) + '/../lib/') unless
|
|
|
7
7
|
require 'tailor'
|
|
8
8
|
|
|
9
9
|
def usage
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
10
|
+
<<USEAGE
|
|
11
|
+
Usage:
|
|
12
|
+
$ #{File.basename(__FILE__)} [directory with .rb files]"
|
|
13
|
+
-OR-
|
|
14
|
+
$ #{File.basename(__FILE__)} [single .rb file]"
|
|
15
|
+
|
|
16
|
+
USEAGE
|
|
17
|
+
end
|
|
18
|
+
|
|
19
|
+
def version
|
|
20
|
+
<<VERSION
|
|
21
|
+
tailor (v#{Tailor::VERSION})
|
|
22
|
+
A Ruby style checker by @turboladen.
|
|
23
|
+
http://github.com/turboladen/tailor
|
|
24
|
+
VERSION
|
|
25
|
+
|
|
14
26
|
end
|
|
15
27
|
|
|
16
28
|
if ARGV[0].nil?
|
|
29
|
+
puts version
|
|
30
|
+
puts
|
|
17
31
|
puts usage
|
|
32
|
+
elsif ARGV[0] =~ /^--version|-v$/
|
|
33
|
+
puts <<-VERSION
|
|
34
|
+
#{version}
|
|
35
|
+
_________________________________________________________________________
|
|
36
|
+
| | | | | | | | | | | | | | | | | | | | | | | | |
|
|
37
|
+
| | | | | | | | | | | | |
|
|
38
|
+
| | | | | | |
|
|
39
|
+
| 1 2 3 4 5 |
|
|
40
|
+
| |
|
|
41
|
+
-------------------------------------------------------------------------
|
|
42
|
+
|
|
43
|
+
VERSION
|
|
44
|
+
|
|
18
45
|
else
|
|
19
46
|
begin
|
|
20
47
|
path_to_check = ARGV[0]
|
|
21
|
-
|
|
48
|
+
|
|
22
49
|
# Check to make sure we got a file or directory
|
|
23
50
|
unless File.file?(path_to_check) or File.directory?(path_to_check)
|
|
24
51
|
raise "Invalid file or directory: #{path_to_check}"
|
|
25
52
|
end
|
|
26
53
|
|
|
27
|
-
if File.file?(path_to_check)
|
|
28
|
-
|
|
54
|
+
files_and_problems = if File.file?(path_to_check)
|
|
55
|
+
Tailor.check_file path_to_check
|
|
29
56
|
elsif File.directory?(path_to_check)
|
|
30
57
|
# Check the requested files/dirs for problems
|
|
31
|
-
|
|
58
|
+
Tailor.check path_to_check
|
|
32
59
|
end
|
|
33
60
|
|
|
61
|
+
problem_count = files_and_problems.values.inject(:+)
|
|
62
|
+
|
|
34
63
|
# Print summary of the problems we found
|
|
35
64
|
Tailor.print_report files_and_problems
|
|
36
|
-
rescue
|
|
65
|
+
rescue RuntimeError => ex
|
|
37
66
|
puts ex.message
|
|
38
67
|
puts ex.backtrace
|
|
39
68
|
puts
|
|
69
|
+
ensure
|
|
70
|
+
exit(1) if problem_count > 0
|
|
40
71
|
end
|
|
41
|
-
end
|
|
72
|
+
end
|
data/features/support/env.rb
CHANGED
data/lib/tailor.rb
CHANGED
|
@@ -4,11 +4,11 @@ $:.unshift(File.dirname(__FILE__)) unless
|
|
|
4
4
|
|
|
5
5
|
require 'fileutils'
|
|
6
6
|
require 'pathname'
|
|
7
|
+
require 'tailor/version'
|
|
7
8
|
require 'tailor/file_line'
|
|
8
9
|
require 'tailor/spacing'
|
|
9
10
|
|
|
10
11
|
module Tailor
|
|
11
|
-
VERSION = '0.1.3'
|
|
12
12
|
|
|
13
13
|
# These operators should always have 1 space around them
|
|
14
14
|
OPERATORS = {
|
|
@@ -23,7 +23,7 @@ module Tailor
|
|
|
23
23
|
:ternary => ['?', ':']
|
|
24
24
|
}
|
|
25
25
|
|
|
26
|
-
# These operators should never have spaces around them
|
|
26
|
+
# These operators should never have spaces around them.
|
|
27
27
|
NO_SPACE_AROUND_OPERATORS = {
|
|
28
28
|
:range => ['..', '...'],
|
|
29
29
|
:scope_resolution => ['::']
|
|
@@ -73,8 +73,8 @@ module Tailor
|
|
|
73
73
|
# path in order to alleviate any possible confusion.
|
|
74
74
|
#
|
|
75
75
|
# @param [String] base_dir Directory to start recursing from to look for .rb
|
|
76
|
-
# files
|
|
77
|
-
# @return [Array] Sorted list of absolute file paths in the project
|
|
76
|
+
# files.
|
|
77
|
+
# @return [Array] Sorted list of absolute file paths in the project.
|
|
78
78
|
def self.project_file_list base_dir
|
|
79
79
|
if File.directory? base_dir
|
|
80
80
|
FileUtils.cd base_dir
|
|
@@ -104,7 +104,7 @@ module Tailor
|
|
|
104
104
|
source = File.open(file_name, 'r')
|
|
105
105
|
file_path = Pathname.new(file_name)
|
|
106
106
|
|
|
107
|
-
puts
|
|
107
|
+
puts ""
|
|
108
108
|
puts "#-------------------------------------------------------------------"
|
|
109
109
|
puts "# Looking for bad style in:"
|
|
110
110
|
puts "# \t'#{file_path}'"
|
|
@@ -193,7 +193,7 @@ end
|
|
|
193
193
|
|
|
194
194
|
# If this is the last line of the multi-line statement...
|
|
195
195
|
if multi_line == true and multi_line_statement
|
|
196
|
-
puts "
|
|
196
|
+
puts "Assigning current (#{current_level}) to multi_next (#{multi_line_next_level})"
|
|
197
197
|
current_level = multi_line_next_level
|
|
198
198
|
elsif multi_line == true and !multi_line_statement
|
|
199
199
|
multi_line = false
|
|
@@ -232,13 +232,12 @@ end
|
|
|
232
232
|
@problem_count
|
|
233
233
|
end
|
|
234
234
|
|
|
235
|
-
##
|
|
236
235
|
# Prints a summary report that shows which files had how many problems.
|
|
237
236
|
#
|
|
238
237
|
# @param [Hash] files_and_problems Returns a hash that contains
|
|
239
238
|
# file_name => problem_count.
|
|
240
239
|
def self.print_report files_and_problems
|
|
241
|
-
puts
|
|
240
|
+
puts ""
|
|
242
241
|
puts "The following files are out of style:"
|
|
243
242
|
|
|
244
243
|
files_and_problems.each_pair do |file, problem_count|
|