tailor 0.1.5 → 1.0.0.alpha

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.
Files changed (124) hide show
  1. data/.gitignore +9 -1
  2. data/.rspec +2 -1
  3. data/.tailor +6 -0
  4. data/Gemfile.lock +47 -78
  5. data/{ChangeLog.rdoc → History.rdoc} +0 -0
  6. data/README.rdoc +157 -24
  7. data/Rakefile +0 -9
  8. data/bin/tailor +16 -69
  9. data/features/configurable.feature +78 -0
  10. data/features/horizontal_spacing.feature +262 -0
  11. data/features/indentation.feature +17 -21
  12. data/features/indentation/bad_files_with_no_trailing_newline.feature +90 -0
  13. data/features/indentation/good_files_with_no_trailing_newline.feature +206 -0
  14. data/features/name_detection.feature +72 -0
  15. data/features/step_definitions/indentation_steps.rb +10 -133
  16. data/features/support/env.rb +7 -15
  17. data/features/support/file_cases/horizontal_spacing_cases.rb +265 -0
  18. data/features/support/file_cases/indentation_cases.rb +972 -0
  19. data/features/support/file_cases/naming_cases.rb +52 -0
  20. data/features/support/file_cases/vertical_spacing_cases.rb +70 -0
  21. data/features/support/hooks.rb +8 -0
  22. data/features/support/{1_file_with_bad_operator_spacing → legacy}/bad_op_spacing.rb +0 -0
  23. data/features/support/{1_file_with_bad_ternary_colon_spacing → legacy}/bad_ternary_colon_spacing.rb +0 -0
  24. data/features/support/{1_long_file_with_indentation/my_project.rb → legacy/long_file_with_indentation.rb} +1 -1
  25. data/features/support/world.rb +14 -0
  26. data/features/vertical_spacing.feature +114 -0
  27. data/lib/ext/string_ext.rb +5 -0
  28. data/lib/tailor.rb +6 -252
  29. data/lib/tailor/cli.rb +49 -0
  30. data/lib/tailor/cli/options.rb +251 -0
  31. data/lib/tailor/composite_observable.rb +56 -0
  32. data/lib/tailor/configuration.rb +263 -0
  33. data/lib/tailor/critic.rb +162 -0
  34. data/lib/tailor/formatters/text.rb +126 -0
  35. data/lib/tailor/lexed_line.rb +246 -0
  36. data/lib/tailor/lexer.rb +428 -0
  37. data/lib/tailor/lexer/token.rb +103 -0
  38. data/lib/tailor/lexer_constants.rb +75 -0
  39. data/lib/tailor/logger.rb +28 -0
  40. data/lib/tailor/problem.rb +100 -0
  41. data/lib/tailor/reporter.rb +48 -0
  42. data/lib/tailor/ruler.rb +39 -0
  43. data/lib/tailor/rulers.rb +7 -0
  44. data/lib/tailor/rulers/allow_camel_case_methods_ruler.rb +30 -0
  45. data/lib/tailor/rulers/allow_hard_tabs_ruler.rb +22 -0
  46. data/lib/tailor/rulers/allow_screaming_snake_case_classes_ruler.rb +32 -0
  47. data/lib/tailor/rulers/allow_trailing_line_spaces_ruler.rb +33 -0
  48. data/lib/tailor/rulers/indentation_spaces_ruler.rb +199 -0
  49. data/lib/tailor/rulers/indentation_spaces_ruler/indentation_manager.rb +362 -0
  50. data/lib/tailor/rulers/max_code_lines_in_class_ruler.rb +84 -0
  51. data/lib/tailor/rulers/max_code_lines_in_method_ruler.rb +84 -0
  52. data/lib/tailor/rulers/max_line_length_ruler.rb +31 -0
  53. data/lib/tailor/rulers/spaces_after_comma_ruler.rb +83 -0
  54. data/lib/tailor/rulers/spaces_after_lbrace_ruler.rb +114 -0
  55. data/lib/tailor/rulers/spaces_after_lbracket_ruler.rb +123 -0
  56. data/lib/tailor/rulers/spaces_after_lparen_ruler.rb +116 -0
  57. data/lib/tailor/rulers/spaces_before_comma_ruler.rb +67 -0
  58. data/lib/tailor/rulers/spaces_before_lbrace_ruler.rb +93 -0
  59. data/lib/tailor/rulers/spaces_before_rbrace_ruler.rb +98 -0
  60. data/lib/tailor/rulers/spaces_before_rbracket_ruler.rb +70 -0
  61. data/lib/tailor/rulers/spaces_before_rparen_ruler.rb +70 -0
  62. data/lib/tailor/rulers/spaces_in_empty_braces_ruler.rb +94 -0
  63. data/lib/tailor/rulers/trailing_newlines_ruler.rb +36 -0
  64. data/lib/tailor/runtime_error.rb +3 -0
  65. data/lib/tailor/tailorrc.erb +88 -0
  66. data/lib/tailor/version.rb +2 -2
  67. data/spec/spec_helper.rb +7 -5
  68. data/spec/tailor/cli_spec.rb +94 -0
  69. data/spec/tailor/configuration_spec.rb +147 -0
  70. data/spec/tailor/critic_spec.rb +63 -0
  71. data/spec/tailor/lexed_line_spec.rb +569 -0
  72. data/spec/tailor/lexer/token_spec.rb +46 -0
  73. data/spec/tailor/lexer_spec.rb +181 -0
  74. data/spec/tailor/options_spec.rb +6 -0
  75. data/spec/tailor/problem_spec.rb +74 -0
  76. data/spec/tailor/reporter_spec.rb +53 -0
  77. data/spec/tailor/ruler_spec.rb +56 -0
  78. data/spec/tailor/rulers/indentation_spaces_ruler/indentation_manager_spec.rb +454 -0
  79. data/spec/tailor/rulers/indentation_spaces_ruler_spec.rb +128 -0
  80. data/spec/tailor/rulers/spaces_after_comma_spec.rb +31 -0
  81. data/spec/tailor/rulers/spaces_after_lbrace_ruler_spec.rb +145 -0
  82. data/spec/tailor/rulers/spaces_before_lbrace_ruler_spec.rb +63 -0
  83. data/spec/tailor/rulers/spaces_before_rbrace_ruler_spec.rb +63 -0
  84. data/spec/tailor/rulers_spec.rb +9 -0
  85. data/spec/tailor/version_spec.rb +6 -0
  86. data/spec/tailor_spec.rb +9 -21
  87. data/tailor.gemspec +22 -35
  88. data/tasks/features.rake +7 -0
  89. data/tasks/roodi.rake +9 -0
  90. data/tasks/roodi_config.yaml +14 -0
  91. data/tasks/spec.rake +16 -0
  92. data/tasks/yard.rake +14 -0
  93. metadata +224 -77
  94. data/features/case_checking.feature +0 -38
  95. data/features/spacing.feature +0 -97
  96. data/features/spacing/commas.feature +0 -44
  97. data/features/step_definitions/case_checking_steps.rb +0 -42
  98. data/features/step_definitions/spacing_steps.rb +0 -156
  99. data/features/support/1_file_with_bad_comma_spacing/bad_comma_spacing.rb +0 -43
  100. data/features/support/1_file_with_bad_curly_brace_spacing/bad_curly_brace_spacing.rb +0 -60
  101. data/features/support/1_file_with_bad_parenthesis/bad_parenthesis.rb +0 -4
  102. data/features/support/1_file_with_bad_square_brackets/bad_square_brackets.rb +0 -62
  103. data/features/support/1_file_with_camel_case_class/camel_case_class.rb +0 -5
  104. data/features/support/1_file_with_camel_case_method/camel_case_method.rb +0 -3
  105. data/features/support/1_file_with_hard_tabs/hard_tab.rb +0 -3
  106. data/features/support/1_file_with_long_lines/long_lines.rb +0 -5
  107. data/features/support/1_file_with_snake_case_class/snake_case_class.rb +0 -5
  108. data/features/support/1_file_with_snake_case_method/snake_case_method.rb +0 -3
  109. data/features/support/1_file_with_trailing_whitespace/trailing_whitespace.rb +0 -5
  110. data/features/support/1_good_simple_file/simple_project.rb +0 -5
  111. data/features/support/common.rb +0 -102
  112. data/features/support/matchers.rb +0 -11
  113. data/lib/tailor/file_line.rb +0 -220
  114. data/lib/tailor/indentation.rb +0 -245
  115. data/lib/tailor/spacing.rb +0 -237
  116. data/spec/file_line_spec.rb +0 -70
  117. data/spec/indentation_spec.rb +0 -259
  118. data/spec/spacing/colon_spacing_spec.rb +0 -71
  119. data/spec/spacing/comma_spacing_spec.rb +0 -159
  120. data/spec/spacing/curly_brace_spacing_spec.rb +0 -257
  121. data/spec/spacing/parentheses_spacing_spec.rb +0 -28
  122. data/spec/spacing/square_bracket_spacing_spec.rb +0 -116
  123. data/spec/spacing_spec.rb +0 -167
  124. data/tasks/metrics.rake +0 -23
@@ -1,27 +1,15 @@
1
1
  require_relative 'spec_helper'
2
+ require 'tailor'
2
3
 
3
- describe Kernel do
4
- def self.get_requires
5
- Dir.chdir File.expand_path(File.dirname(__FILE__)) + '/../lib'
6
- filenames = Dir.glob 'tailor/*.rb'
7
- requires = filenames.each do |fn|
8
- fn.chomp!(File.extname(fn))
4
+ describe Tailor do
5
+ describe "::config" do
6
+ it "creates a new Configuration object" do
7
+ Tailor::Configuration.should_receive(:new)
8
+ Tailor.config
9
9
  end
10
- return requires
11
- end
12
-
13
- # Try to require each of the files in Tailor
14
- get_requires.each do |r|
15
- it "should require #{r}" do
16
- # A require returns true if it was required, false if it had already been
17
- # required, and nil if it couldn't require.
18
- Kernel.require(r.to_s).should_not be_nil
10
+
11
+ it "returns a Configuration object" do
12
+ Tailor.config.should be_a Tailor::Configuration
19
13
  end
20
14
  end
21
15
  end
22
-
23
- describe Tailor do
24
- it "should have a VERSION constant" do
25
- Tailor.const_defined?('VERSION').should == true
26
- end
27
- end
@@ -6,44 +6,31 @@ Gem::Specification.new do |s|
6
6
  s.name = "tailor"
7
7
  s.version = Tailor::VERSION
8
8
 
9
- s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
10
- s.authors = ["Steve Loveless"]
11
- s.date = "2011-09-26"
12
- s.description = "ruby style checking tool"
13
- s.email = ["steve.loveless@gmail.com"]
14
- s.executables = ["tailor"]
15
- s.extra_rdoc_files = [
16
- "ChangeLog.rdoc",
17
- "README.rdoc"
18
- ]
9
+ s.author = "Steve Loveless"
10
+ s.summary = "ruby style checking tool"
11
+ s.description = "Utility for checking style of Ruby files."
12
+ s.email = "steve.loveless@gmail.com"
13
+ s.homepage = "http://github.com/turboladen/tailor"
14
+
15
+ s.extra_rdoc_files = %w(History.rdoc README.rdoc)
19
16
  s.files = `git ls-files`.split("\n")
20
17
  s.test_files = `git ls-files -- {spec,features}/*`.split("\n")
21
18
  s.executables = `git ls-files -- bin/*`.split("\n").map { |f| File.basename(f) }
22
- s.extra_rdoc_files = %w(ChangeLog.rdoc README.rdoc)
23
- s.homepage = "http://github.com/turboladen/tailor"
24
- s.post_install_message = <<MSG
25
- Thanks for checking out tailor. To check Ruby style, simply do:
26
- $ tailor [directory to check]
27
-
28
- -OR-
29
-
30
- $ tailor [.rb/.erb file to check]
31
-
32
- For more information on tailor, see http://github.com/turboladen/tailor)
33
-
34
- MSG
35
-
36
- s.require_paths = ["lib"]
37
- s.rubygems_version = "1.8.10"
38
- s.summary = "Utility for checking style of Ruby files."
39
- s.test_files = Dir.glob "{feature,spec}/**/*_spec.rb"
40
19
 
41
- s.add_runtime_dependency(%q<term-ansicolor>, [">= 1.0.5"])
42
- s.add_development_dependency(%q<code_statistics>, ["~> 0.2.13"])
43
- s.add_development_dependency(%q<cucumber>, [">= 0.10.2"])
44
- s.add_development_dependency(%q<metric_fu>, [">= 2.0.0"])
45
- s.add_development_dependency(%q<rspec>, [">= 2.5.0"])
46
- s.add_development_dependency(%q<simplecov>, [">= 0.4.0"])
47
- s.add_development_dependency(%q<yard>, [">= 0.6.8"])
20
+ s.add_runtime_dependency(%q<log_switch>, ">= 0.2.0")
21
+ s.add_runtime_dependency(%q<term-ansicolor>, ">= 1.0.5")
22
+ s.add_runtime_dependency(%q<text-table>, ">= 1.2.2")
23
+
24
+ s.add_development_dependency(%q<aruba>, ">=0")
25
+ s.add_development_dependency(%q<bundler>, ">=0")
26
+ s.add_development_dependency(%q<code_statistics>, ">=0")
27
+ s.add_development_dependency(%q<cucumber>, ">= 1.0.2")
28
+ s.add_development_dependency(%q<fakefs>, ">= 0.4.0")
29
+ s.add_development_dependency(%q<rake>, ">= 0")
30
+ s.add_development_dependency(%q<roodi>, ">= 2.1.0")
31
+ s.add_development_dependency(%q<rspec>, ">= 2.5.0")
32
+ s.add_development_dependency(%q<simplecov>, ">= 0.4.0")
33
+ s.add_development_dependency(%q<yard>, ">= 0.7.0")
34
+ s.add_development_dependency(%q<yard-cucumber>, ">= 2.1.7")
48
35
  end
49
36
 
@@ -0,0 +1,7 @@
1
+ require 'tracer'
2
+ require 'cucumber'
3
+ require 'cucumber/rake/task'
4
+
5
+ Cucumber::Rake::Task.new(:features) do |t|
6
+ t.cucumber_opts = %w(--format progress features --tags ~@wip)
7
+ end
@@ -0,0 +1,9 @@
1
+ require 'rake/tasklib' # roodi_task fails without this.
2
+ require 'roodi'
3
+ require 'roodi_task'
4
+
5
+ RoodiTask.new do |t|
6
+ t.config = 'tasks/roodi_config.yaml'
7
+ t.patterns = Dir.glob("{features,lib,spec}/**/*.rb")
8
+ t.verbose = true
9
+ end
@@ -0,0 +1,14 @@
1
+ ---
2
+ AssignmentInConditionalCheck: { }
3
+ CaseMissingElseCheck: { }
4
+ ClassLineCountCheck: { line_count: 300 }
5
+ ClassNameCheck: { pattern: !ruby/regexp '/^[A-Z][a-zA-Z0-9]*$/' }
6
+ CyclomaticComplexityBlockCheck: { complexity: 4 }
7
+ CyclomaticComplexityMethodCheck: { complexity: 8 }
8
+ EmptyRescueBodyCheck: { }
9
+ ForLoopCheck: { }
10
+ MethodLineCountCheck: { line_count: 30 }
11
+ MethodNameCheck: { pattern: !ruby/regexp '/^[_a-z<>=\[\]|+-\/\*`]+[_a-z0-9_<>=~@\[\]]*[=!\?]?$/' }
12
+ ModuleLineCountCheck: { line_count: 300 }
13
+ ModuleNameCheck: { pattern: !ruby/regexp '/^[A-Z][a-zA-Z0-9]*$/' }
14
+ ParameterNumberCheck: { parameter_count: 5 }
@@ -0,0 +1,16 @@
1
+ require 'rspec/core/rake_task'
2
+
3
+ RSpec::Core::RakeTask.new
4
+
5
+ namespace :spec do
6
+ desc "Run specs with Ruby warnings turned on"
7
+ RSpec::Core::RakeTask.new(:warn) do |t|
8
+ t.ruby_opts = %w(-w)
9
+ end
10
+
11
+ desc "Run specs for Tailor::Lexer"
12
+ RSpec::Core::RakeTask.new(:lexer) do |t|
13
+ t.pattern = "./spec/tailor/lexer_spec.rb"
14
+ end
15
+ end
16
+
@@ -0,0 +1,14 @@
1
+ require 'yard'
2
+
3
+ YARD::Rake::YardocTask.new do |t|
4
+ t.files = %w(lib/**/*.rb - History.rdoc)
5
+ t.options = %w(--private --protected --verbose)
6
+ end
7
+
8
+ namespace :yard do
9
+ YARD::Rake::YardocTask.new(:with_features) do |t|
10
+ YARD::Config.load_plugin 'cucumber'
11
+
12
+ t.files = %w(lib/**/*.rb features/**/*.feature - History.rdoc)
13
+ end
14
+ end
metadata CHANGED
@@ -1,19 +1,30 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: tailor
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.5
5
- prerelease:
4
+ version: 1.0.0.alpha
5
+ prerelease: 6
6
6
  platform: ruby
7
7
  authors:
8
8
  - Steve Loveless
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2011-09-26 00:00:00.000000000Z
12
+ date: 2012-04-09 00:00:00.000000000 Z
13
13
  dependencies:
14
+ - !ruby/object:Gem::Dependency
15
+ name: log_switch
16
+ requirement: &70183412557480 !ruby/object:Gem::Requirement
17
+ none: false
18
+ requirements:
19
+ - - ! '>='
20
+ - !ruby/object:Gem::Version
21
+ version: 0.2.0
22
+ type: :runtime
23
+ prerelease: false
24
+ version_requirements: *70183412557480
14
25
  - !ruby/object:Gem::Dependency
15
26
  name: term-ansicolor
16
- requirement: &70168517429600 !ruby/object:Gem::Requirement
27
+ requirement: &70183412556980 !ruby/object:Gem::Requirement
17
28
  none: false
18
29
  requirements:
19
30
  - - ! '>='
@@ -21,43 +32,98 @@ dependencies:
21
32
  version: 1.0.5
22
33
  type: :runtime
23
34
  prerelease: false
24
- version_requirements: *70168517429600
35
+ version_requirements: *70183412556980
36
+ - !ruby/object:Gem::Dependency
37
+ name: text-table
38
+ requirement: &70183412556520 !ruby/object:Gem::Requirement
39
+ none: false
40
+ requirements:
41
+ - - ! '>='
42
+ - !ruby/object:Gem::Version
43
+ version: 1.2.2
44
+ type: :runtime
45
+ prerelease: false
46
+ version_requirements: *70183412556520
47
+ - !ruby/object:Gem::Dependency
48
+ name: aruba
49
+ requirement: &70183412556060 !ruby/object:Gem::Requirement
50
+ none: false
51
+ requirements:
52
+ - - ! '>='
53
+ - !ruby/object:Gem::Version
54
+ version: '0'
55
+ type: :development
56
+ prerelease: false
57
+ version_requirements: *70183412556060
58
+ - !ruby/object:Gem::Dependency
59
+ name: bundler
60
+ requirement: &70183412555600 !ruby/object:Gem::Requirement
61
+ none: false
62
+ requirements:
63
+ - - ! '>='
64
+ - !ruby/object:Gem::Version
65
+ version: '0'
66
+ type: :development
67
+ prerelease: false
68
+ version_requirements: *70183412555600
25
69
  - !ruby/object:Gem::Dependency
26
70
  name: code_statistics
27
- requirement: &70168517428840 !ruby/object:Gem::Requirement
71
+ requirement: &70183412555140 !ruby/object:Gem::Requirement
28
72
  none: false
29
73
  requirements:
30
- - - ~>
74
+ - - ! '>='
31
75
  - !ruby/object:Gem::Version
32
- version: 0.2.13
76
+ version: '0'
33
77
  type: :development
34
78
  prerelease: false
35
- version_requirements: *70168517428840
79
+ version_requirements: *70183412555140
36
80
  - !ruby/object:Gem::Dependency
37
81
  name: cucumber
38
- requirement: &70168517381280 !ruby/object:Gem::Requirement
82
+ requirement: &70183412554680 !ruby/object:Gem::Requirement
39
83
  none: false
40
84
  requirements:
41
85
  - - ! '>='
42
86
  - !ruby/object:Gem::Version
43
- version: 0.10.2
87
+ version: 1.0.2
44
88
  type: :development
45
89
  prerelease: false
46
- version_requirements: *70168517381280
90
+ version_requirements: *70183412554680
47
91
  - !ruby/object:Gem::Dependency
48
- name: metric_fu
49
- requirement: &70168517380440 !ruby/object:Gem::Requirement
92
+ name: fakefs
93
+ requirement: &70183412570600 !ruby/object:Gem::Requirement
50
94
  none: false
51
95
  requirements:
52
96
  - - ! '>='
53
97
  - !ruby/object:Gem::Version
54
- version: 2.0.0
98
+ version: 0.4.0
55
99
  type: :development
56
100
  prerelease: false
57
- version_requirements: *70168517380440
101
+ version_requirements: *70183412570600
102
+ - !ruby/object:Gem::Dependency
103
+ name: rake
104
+ requirement: &70183412570140 !ruby/object:Gem::Requirement
105
+ none: false
106
+ requirements:
107
+ - - ! '>='
108
+ - !ruby/object:Gem::Version
109
+ version: '0'
110
+ type: :development
111
+ prerelease: false
112
+ version_requirements: *70183412570140
113
+ - !ruby/object:Gem::Dependency
114
+ name: roodi
115
+ requirement: &70183412569680 !ruby/object:Gem::Requirement
116
+ none: false
117
+ requirements:
118
+ - - ! '>='
119
+ - !ruby/object:Gem::Version
120
+ version: 2.1.0
121
+ type: :development
122
+ prerelease: false
123
+ version_requirements: *70183412569680
58
124
  - !ruby/object:Gem::Dependency
59
125
  name: rspec
60
- requirement: &70168517379200 !ruby/object:Gem::Requirement
126
+ requirement: &70183412569220 !ruby/object:Gem::Requirement
61
127
  none: false
62
128
  requirements:
63
129
  - - ! '>='
@@ -65,10 +131,10 @@ dependencies:
65
131
  version: 2.5.0
66
132
  type: :development
67
133
  prerelease: false
68
- version_requirements: *70168517379200
134
+ version_requirements: *70183412569220
69
135
  - !ruby/object:Gem::Dependency
70
136
  name: simplecov
71
- requirement: &70168517377560 !ruby/object:Gem::Requirement
137
+ requirement: &70183412568760 !ruby/object:Gem::Requirement
72
138
  none: false
73
139
  requirements:
74
140
  - - ! '>='
@@ -76,88 +142,138 @@ dependencies:
76
142
  version: 0.4.0
77
143
  type: :development
78
144
  prerelease: false
79
- version_requirements: *70168517377560
145
+ version_requirements: *70183412568760
80
146
  - !ruby/object:Gem::Dependency
81
147
  name: yard
82
- requirement: &70168517376760 !ruby/object:Gem::Requirement
148
+ requirement: &70183412568300 !ruby/object:Gem::Requirement
83
149
  none: false
84
150
  requirements:
85
151
  - - ! '>='
86
152
  - !ruby/object:Gem::Version
87
- version: 0.6.8
153
+ version: 0.7.0
88
154
  type: :development
89
155
  prerelease: false
90
- version_requirements: *70168517376760
91
- description: ruby style checking tool
92
- email:
93
- - steve.loveless@gmail.com
156
+ version_requirements: *70183412568300
157
+ - !ruby/object:Gem::Dependency
158
+ name: yard-cucumber
159
+ requirement: &70183412567840 !ruby/object:Gem::Requirement
160
+ none: false
161
+ requirements:
162
+ - - ! '>='
163
+ - !ruby/object:Gem::Version
164
+ version: 2.1.7
165
+ type: :development
166
+ prerelease: false
167
+ version_requirements: *70183412567840
168
+ description: Utility for checking style of Ruby files.
169
+ email: steve.loveless@gmail.com
94
170
  executables:
95
171
  - tailor
96
172
  extensions: []
97
173
  extra_rdoc_files:
98
- - ChangeLog.rdoc
174
+ - History.rdoc
99
175
  - README.rdoc
100
176
  files:
101
177
  - .gemtest
102
178
  - .gitignore
103
179
  - .infinity_test
104
180
  - .rspec
105
- - ChangeLog.rdoc
181
+ - .tailor
106
182
  - Gemfile
107
183
  - Gemfile.lock
184
+ - History.rdoc
108
185
  - README.rdoc
109
186
  - Rakefile
110
187
  - bin/tailor
111
- - features/case_checking.feature
188
+ - features/configurable.feature
189
+ - features/horizontal_spacing.feature
112
190
  - features/indentation.feature
113
- - features/spacing.feature
114
- - features/spacing/commas.feature
115
- - features/step_definitions/case_checking_steps.rb
191
+ - features/indentation/bad_files_with_no_trailing_newline.feature
192
+ - features/indentation/good_files_with_no_trailing_newline.feature
193
+ - features/name_detection.feature
116
194
  - features/step_definitions/indentation_steps.rb
117
195
  - features/step_definitions/spacing/commas_steps.rb
118
- - features/step_definitions/spacing_steps.rb
119
- - features/support/1_file_with_bad_comma_spacing/bad_comma_spacing.rb
120
- - features/support/1_file_with_bad_curly_brace_spacing/bad_curly_brace_spacing.rb
121
- - features/support/1_file_with_bad_operator_spacing/bad_op_spacing.rb
122
- - features/support/1_file_with_bad_parenthesis/bad_parenthesis.rb
123
- - features/support/1_file_with_bad_square_brackets/bad_square_brackets.rb
124
- - features/support/1_file_with_bad_ternary_colon_spacing/bad_ternary_colon_spacing.rb
125
- - features/support/1_file_with_camel_case_class/camel_case_class.rb
126
- - features/support/1_file_with_camel_case_method/camel_case_method.rb
127
- - features/support/1_file_with_hard_tabs/hard_tab.rb
128
- - features/support/1_file_with_long_lines/long_lines.rb
129
- - features/support/1_file_with_snake_case_class/snake_case_class.rb
130
- - features/support/1_file_with_snake_case_method/snake_case_method.rb
131
- - features/support/1_file_with_trailing_whitespace/trailing_whitespace.rb
132
- - features/support/1_good_simple_file/simple_project.rb
133
- - features/support/1_long_file_with_indentation/my_project.rb
134
- - features/support/common.rb
135
196
  - features/support/env.rb
136
- - features/support/matchers.rb
197
+ - features/support/file_cases/horizontal_spacing_cases.rb
198
+ - features/support/file_cases/indentation_cases.rb
199
+ - features/support/file_cases/naming_cases.rb
200
+ - features/support/file_cases/vertical_spacing_cases.rb
201
+ - features/support/hooks.rb
202
+ - features/support/legacy/bad_op_spacing.rb
203
+ - features/support/legacy/bad_ternary_colon_spacing.rb
204
+ - features/support/legacy/long_file_with_indentation.rb
137
205
  - features/support/world.rb
206
+ - features/vertical_spacing.feature
207
+ - lib/ext/string_ext.rb
138
208
  - lib/tailor.rb
139
- - lib/tailor/file_line.rb
140
- - lib/tailor/indentation.rb
141
- - lib/tailor/spacing.rb
209
+ - lib/tailor/cli.rb
210
+ - lib/tailor/cli/options.rb
211
+ - lib/tailor/composite_observable.rb
212
+ - lib/tailor/configuration.rb
213
+ - lib/tailor/critic.rb
214
+ - lib/tailor/formatters/text.rb
215
+ - lib/tailor/lexed_line.rb
216
+ - lib/tailor/lexer.rb
217
+ - lib/tailor/lexer/token.rb
218
+ - lib/tailor/lexer_constants.rb
219
+ - lib/tailor/logger.rb
220
+ - lib/tailor/problem.rb
221
+ - lib/tailor/reporter.rb
222
+ - lib/tailor/ruler.rb
223
+ - lib/tailor/rulers.rb
224
+ - lib/tailor/rulers/allow_camel_case_methods_ruler.rb
225
+ - lib/tailor/rulers/allow_hard_tabs_ruler.rb
226
+ - lib/tailor/rulers/allow_screaming_snake_case_classes_ruler.rb
227
+ - lib/tailor/rulers/allow_trailing_line_spaces_ruler.rb
228
+ - lib/tailor/rulers/indentation_spaces_ruler.rb
229
+ - lib/tailor/rulers/indentation_spaces_ruler/indentation_manager.rb
230
+ - lib/tailor/rulers/max_code_lines_in_class_ruler.rb
231
+ - lib/tailor/rulers/max_code_lines_in_method_ruler.rb
232
+ - lib/tailor/rulers/max_line_length_ruler.rb
233
+ - lib/tailor/rulers/spaces_after_comma_ruler.rb
234
+ - lib/tailor/rulers/spaces_after_lbrace_ruler.rb
235
+ - lib/tailor/rulers/spaces_after_lbracket_ruler.rb
236
+ - lib/tailor/rulers/spaces_after_lparen_ruler.rb
237
+ - lib/tailor/rulers/spaces_before_comma_ruler.rb
238
+ - lib/tailor/rulers/spaces_before_lbrace_ruler.rb
239
+ - lib/tailor/rulers/spaces_before_rbrace_ruler.rb
240
+ - lib/tailor/rulers/spaces_before_rbracket_ruler.rb
241
+ - lib/tailor/rulers/spaces_before_rparen_ruler.rb
242
+ - lib/tailor/rulers/spaces_in_empty_braces_ruler.rb
243
+ - lib/tailor/rulers/trailing_newlines_ruler.rb
244
+ - lib/tailor/runtime_error.rb
245
+ - lib/tailor/tailorrc.erb
142
246
  - lib/tailor/version.rb
143
- - spec/file_line_spec.rb
144
- - spec/indentation_spec.rb
145
- - spec/spacing/colon_spacing_spec.rb
146
- - spec/spacing/comma_spacing_spec.rb
147
- - spec/spacing/curly_brace_spacing_spec.rb
148
- - spec/spacing/parentheses_spacing_spec.rb
149
- - spec/spacing/square_bracket_spacing_spec.rb
150
- - spec/spacing_spec.rb
151
247
  - spec/spec_helper.rb
248
+ - spec/tailor/cli_spec.rb
249
+ - spec/tailor/configuration_spec.rb
250
+ - spec/tailor/critic_spec.rb
251
+ - spec/tailor/lexed_line_spec.rb
252
+ - spec/tailor/lexer/token_spec.rb
253
+ - spec/tailor/lexer_spec.rb
254
+ - spec/tailor/options_spec.rb
255
+ - spec/tailor/problem_spec.rb
256
+ - spec/tailor/reporter_spec.rb
257
+ - spec/tailor/ruler_spec.rb
258
+ - spec/tailor/rulers/indentation_spaces_ruler/indentation_manager_spec.rb
259
+ - spec/tailor/rulers/indentation_spaces_ruler_spec.rb
260
+ - spec/tailor/rulers/spaces_after_comma_spec.rb
261
+ - spec/tailor/rulers/spaces_after_lbrace_ruler_spec.rb
262
+ - spec/tailor/rulers/spaces_before_lbrace_ruler_spec.rb
263
+ - spec/tailor/rulers/spaces_before_rbrace_ruler_spec.rb
264
+ - spec/tailor/rulers_spec.rb
265
+ - spec/tailor/version_spec.rb
152
266
  - spec/tailor_spec.rb
153
267
  - tailor.gemspec
154
- - tasks/metrics.rake
268
+ - tasks/features.rake
269
+ - tasks/roodi.rake
270
+ - tasks/roodi_config.yaml
271
+ - tasks/spec.rake
155
272
  - tasks/stats.rake
273
+ - tasks/yard.rake
156
274
  homepage: http://github.com/turboladen/tailor
157
275
  licenses: []
158
- post_install_message: ! "Thanks for checking out tailor. To check Ruby style, simply
159
- do:\n $ tailor [directory to check]\n\n -OR-\n\n $ tailor [.rb/.erb file to check]\n\nFor
160
- more information on tailor, see http://github.com/turboladen/tailor)\n\n"
276
+ post_install_message:
161
277
  rdoc_options: []
162
278
  require_paths:
163
279
  - lib
@@ -170,22 +286,53 @@ required_ruby_version: !ruby/object:Gem::Requirement
170
286
  required_rubygems_version: !ruby/object:Gem::Requirement
171
287
  none: false
172
288
  requirements:
173
- - - ! '>='
289
+ - - ! '>'
174
290
  - !ruby/object:Gem::Version
175
- version: '0'
291
+ version: 1.3.1
176
292
  requirements: []
177
293
  rubyforge_project:
178
- rubygems_version: 1.8.10
294
+ rubygems_version: 1.8.17
179
295
  signing_key:
180
296
  specification_version: 3
181
- summary: Utility for checking style of Ruby files.
297
+ summary: ruby style checking tool
182
298
  test_files:
183
- - spec/file_line_spec.rb
184
- - spec/indentation_spec.rb
185
- - spec/spacing/colon_spacing_spec.rb
186
- - spec/spacing/comma_spacing_spec.rb
187
- - spec/spacing/curly_brace_spacing_spec.rb
188
- - spec/spacing/parentheses_spacing_spec.rb
189
- - spec/spacing/square_bracket_spacing_spec.rb
190
- - spec/spacing_spec.rb
299
+ - features/configurable.feature
300
+ - features/horizontal_spacing.feature
301
+ - features/indentation.feature
302
+ - features/indentation/bad_files_with_no_trailing_newline.feature
303
+ - features/indentation/good_files_with_no_trailing_newline.feature
304
+ - features/name_detection.feature
305
+ - features/step_definitions/indentation_steps.rb
306
+ - features/step_definitions/spacing/commas_steps.rb
307
+ - features/support/env.rb
308
+ - features/support/file_cases/horizontal_spacing_cases.rb
309
+ - features/support/file_cases/indentation_cases.rb
310
+ - features/support/file_cases/naming_cases.rb
311
+ - features/support/file_cases/vertical_spacing_cases.rb
312
+ - features/support/hooks.rb
313
+ - features/support/legacy/bad_op_spacing.rb
314
+ - features/support/legacy/bad_ternary_colon_spacing.rb
315
+ - features/support/legacy/long_file_with_indentation.rb
316
+ - features/support/world.rb
317
+ - features/vertical_spacing.feature
318
+ - spec/spec_helper.rb
319
+ - spec/tailor/cli_spec.rb
320
+ - spec/tailor/configuration_spec.rb
321
+ - spec/tailor/critic_spec.rb
322
+ - spec/tailor/lexed_line_spec.rb
323
+ - spec/tailor/lexer/token_spec.rb
324
+ - spec/tailor/lexer_spec.rb
325
+ - spec/tailor/options_spec.rb
326
+ - spec/tailor/problem_spec.rb
327
+ - spec/tailor/reporter_spec.rb
328
+ - spec/tailor/ruler_spec.rb
329
+ - spec/tailor/rulers/indentation_spaces_ruler/indentation_manager_spec.rb
330
+ - spec/tailor/rulers/indentation_spaces_ruler_spec.rb
331
+ - spec/tailor/rulers/spaces_after_comma_spec.rb
332
+ - spec/tailor/rulers/spaces_after_lbrace_ruler_spec.rb
333
+ - spec/tailor/rulers/spaces_before_lbrace_ruler_spec.rb
334
+ - spec/tailor/rulers/spaces_before_rbrace_ruler_spec.rb
335
+ - spec/tailor/rulers_spec.rb
336
+ - spec/tailor/version_spec.rb
191
337
  - spec/tailor_spec.rb
338
+ has_rdoc: