standard 0.0.34
Sign up to get free protection for your applications and to get access to all the features.
Potentially problematic release.
This version of standard might be problematic. Click here for more details.
- checksums.yaml +7 -0
- data/.circleci/config.yml +35 -0
- data/.gitignore +8 -0
- data/.standard.yml +4 -0
- data/Gemfile +3 -0
- data/Gemfile.lock +58 -0
- data/LICENSE.txt +24 -0
- data/README.md +354 -0
- data/Rakefile +12 -0
- data/bin/console +14 -0
- data/bin/setup +8 -0
- data/config/base.yml +1045 -0
- data/config/ruby-1.8.yml +8 -0
- data/config/ruby-1.9.yml +4 -0
- data/config/ruby-2.2.yml +8 -0
- data/exe/standardrb +7 -0
- data/lib/standard/builds_config.rb +26 -0
- data/lib/standard/cli.rb +23 -0
- data/lib/standard/cop/semantic_blocks.rb +162 -0
- data/lib/standard/creates_config_store/assigns_rubocop_yaml.rb +26 -0
- data/lib/standard/creates_config_store/configures_ignored_paths.rb +45 -0
- data/lib/standard/creates_config_store/sets_target_ruby_version.rb +25 -0
- data/lib/standard/creates_config_store.rb +23 -0
- data/lib/standard/detects_fixability.rb +20 -0
- data/lib/standard/file_finder.rb +13 -0
- data/lib/standard/formatter.rb +79 -0
- data/lib/standard/loads_runner.rb +9 -0
- data/lib/standard/loads_yaml_config.rb +60 -0
- data/lib/standard/merges_settings.rb +64 -0
- data/lib/standard/parses_cli_option.rb +21 -0
- data/lib/standard/railtie.rb +11 -0
- data/lib/standard/rake.rb +26 -0
- data/lib/standard/rubocop/ext.rb +7 -0
- data/lib/standard/runners/help.rb +44 -0
- data/lib/standard/runners/rubocop.rb +36 -0
- data/lib/standard/runners/version.rb +9 -0
- data/lib/standard/version.rb +3 -0
- data/lib/standard.rb +13 -0
- data/standard.gemspec +29 -0
- metadata +179 -0
@@ -0,0 +1,44 @@
|
|
1
|
+
require_relative "../file_finder"
|
2
|
+
|
3
|
+
module Standard
|
4
|
+
module Runners
|
5
|
+
class Help
|
6
|
+
def call(config)
|
7
|
+
puts <<-MESSAGE.gsub(/^ {10}/, "")
|
8
|
+
Usage: standardrb [--fix] [-vh] [--format <name>] [--] [FILE]...
|
9
|
+
|
10
|
+
Options:
|
11
|
+
|
12
|
+
--fix Automatically fix failures where possible
|
13
|
+
--no-fix Do not automatically fix failures
|
14
|
+
--format <name> Format output with any RuboCop formatter (e.g. "json")
|
15
|
+
-v, --version Print the version of Standard
|
16
|
+
-h, --help Print this message
|
17
|
+
FILE Files to lint [default: ./]
|
18
|
+
|
19
|
+
Standard also forwards most CLI arguments to RuboCop. To see them, run:
|
20
|
+
|
21
|
+
$ rubocop --help
|
22
|
+
|
23
|
+
While Standard only offers a few configuration options, most can be set in
|
24
|
+
a `.standard.yml` file. For full documentation, please visit:
|
25
|
+
|
26
|
+
https://github.com/testdouble/standard
|
27
|
+
|
28
|
+
Having trouble? Here's some diagnostic information:
|
29
|
+
|
30
|
+
Ruby version: #{RUBY_VERSION}
|
31
|
+
Current directory: #{Dir.pwd}
|
32
|
+
RuboCop version: #{RuboCop::Version.version}
|
33
|
+
Standard version: #{Standard::VERSION}
|
34
|
+
Standard config file: #{FileFinder.new.call(".standard.yml", Dir.pwd) || "[No file found]"}
|
35
|
+
|
36
|
+
Please report any problems (and include the above information) at the URL below:
|
37
|
+
|
38
|
+
https://github.com/testdouble/standard/issues/new
|
39
|
+
|
40
|
+
MESSAGE
|
41
|
+
end
|
42
|
+
end
|
43
|
+
end
|
44
|
+
end
|
@@ -0,0 +1,36 @@
|
|
1
|
+
require "rubocop"
|
2
|
+
|
3
|
+
module Standard
|
4
|
+
module Runners
|
5
|
+
class Rubocop
|
6
|
+
def call(config)
|
7
|
+
rubocop_runner = RuboCop::Runner.new(
|
8
|
+
config.rubocop_options,
|
9
|
+
config.rubocop_config_store
|
10
|
+
)
|
11
|
+
|
12
|
+
rubocop_runner.run(config.paths).tap do |success|
|
13
|
+
print_errors_and_warnings(success, rubocop_runner)
|
14
|
+
print_corrected_code_if_fixing_stdin(config.rubocop_options)
|
15
|
+
end
|
16
|
+
end
|
17
|
+
|
18
|
+
private
|
19
|
+
|
20
|
+
def print_errors_and_warnings(success, rubocop_runner)
|
21
|
+
return unless success
|
22
|
+
|
23
|
+
(rubocop_runner.warnings + rubocop_runner.errors).each do |message|
|
24
|
+
warn message
|
25
|
+
end
|
26
|
+
end
|
27
|
+
|
28
|
+
def print_corrected_code_if_fixing_stdin(rubocop_options)
|
29
|
+
return unless rubocop_options[:stdin] && rubocop_options[:auto_correct]
|
30
|
+
|
31
|
+
puts "=" * 20
|
32
|
+
print rubocop_options[:stdin]
|
33
|
+
end
|
34
|
+
end
|
35
|
+
end
|
36
|
+
end
|
data/lib/standard.rb
ADDED
@@ -0,0 +1,13 @@
|
|
1
|
+
require "rubocop"
|
2
|
+
|
3
|
+
require "standard/rubocop/ext"
|
4
|
+
|
5
|
+
require "standard/version"
|
6
|
+
require "standard/cli"
|
7
|
+
require "standard/railtie" if defined?(Rails)
|
8
|
+
|
9
|
+
require "standard/formatter"
|
10
|
+
require "standard/cop/semantic_blocks"
|
11
|
+
|
12
|
+
module Standard
|
13
|
+
end
|
data/standard.gemspec
ADDED
@@ -0,0 +1,29 @@
|
|
1
|
+
lib = File.expand_path("../lib", __FILE__)
|
2
|
+
$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
3
|
+
require "standard/version"
|
4
|
+
|
5
|
+
Gem::Specification.new do |spec|
|
6
|
+
spec.name = "standard"
|
7
|
+
spec.version = Standard::VERSION
|
8
|
+
spec.authors = ["Justin Searls"]
|
9
|
+
spec.email = ["searls@gmail.com"]
|
10
|
+
|
11
|
+
spec.summary = "Ruby Style Guide, with linter & automatic code fixer"
|
12
|
+
spec.homepage = "https://github.com/testdouble/standard"
|
13
|
+
|
14
|
+
spec.files = Dir.chdir(File.expand_path("..", __FILE__)) do
|
15
|
+
`git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test|spec|features)/}) }
|
16
|
+
end
|
17
|
+
spec.bindir = "exe"
|
18
|
+
spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
|
19
|
+
spec.require_paths = ["lib"]
|
20
|
+
|
21
|
+
spec.add_dependency "rubocop", ">= 0.63"
|
22
|
+
|
23
|
+
spec.add_development_dependency "bundler", "~> 1.17"
|
24
|
+
spec.add_development_dependency "minitest", "~> 5.0"
|
25
|
+
spec.add_development_dependency "pry"
|
26
|
+
spec.add_development_dependency "rake", "~> 12.0"
|
27
|
+
spec.add_development_dependency "simplecov"
|
28
|
+
spec.add_development_dependency "gimme"
|
29
|
+
end
|
metadata
ADDED
@@ -0,0 +1,179 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: standard
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.0.34
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- Justin Searls
|
8
|
+
autorequire:
|
9
|
+
bindir: exe
|
10
|
+
cert_chain: []
|
11
|
+
date: 2019-03-02 00:00:00.000000000 Z
|
12
|
+
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
14
|
+
name: rubocop
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - ">="
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: '0.63'
|
20
|
+
type: :runtime
|
21
|
+
prerelease: false
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - ">="
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: '0.63'
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
name: bundler
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - "~>"
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: '1.17'
|
34
|
+
type: :development
|
35
|
+
prerelease: false
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - "~>"
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: '1.17'
|
41
|
+
- !ruby/object:Gem::Dependency
|
42
|
+
name: minitest
|
43
|
+
requirement: !ruby/object:Gem::Requirement
|
44
|
+
requirements:
|
45
|
+
- - "~>"
|
46
|
+
- !ruby/object:Gem::Version
|
47
|
+
version: '5.0'
|
48
|
+
type: :development
|
49
|
+
prerelease: false
|
50
|
+
version_requirements: !ruby/object:Gem::Requirement
|
51
|
+
requirements:
|
52
|
+
- - "~>"
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: '5.0'
|
55
|
+
- !ruby/object:Gem::Dependency
|
56
|
+
name: pry
|
57
|
+
requirement: !ruby/object:Gem::Requirement
|
58
|
+
requirements:
|
59
|
+
- - ">="
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: '0'
|
62
|
+
type: :development
|
63
|
+
prerelease: false
|
64
|
+
version_requirements: !ruby/object:Gem::Requirement
|
65
|
+
requirements:
|
66
|
+
- - ">="
|
67
|
+
- !ruby/object:Gem::Version
|
68
|
+
version: '0'
|
69
|
+
- !ruby/object:Gem::Dependency
|
70
|
+
name: rake
|
71
|
+
requirement: !ruby/object:Gem::Requirement
|
72
|
+
requirements:
|
73
|
+
- - "~>"
|
74
|
+
- !ruby/object:Gem::Version
|
75
|
+
version: '12.0'
|
76
|
+
type: :development
|
77
|
+
prerelease: false
|
78
|
+
version_requirements: !ruby/object:Gem::Requirement
|
79
|
+
requirements:
|
80
|
+
- - "~>"
|
81
|
+
- !ruby/object:Gem::Version
|
82
|
+
version: '12.0'
|
83
|
+
- !ruby/object:Gem::Dependency
|
84
|
+
name: simplecov
|
85
|
+
requirement: !ruby/object:Gem::Requirement
|
86
|
+
requirements:
|
87
|
+
- - ">="
|
88
|
+
- !ruby/object:Gem::Version
|
89
|
+
version: '0'
|
90
|
+
type: :development
|
91
|
+
prerelease: false
|
92
|
+
version_requirements: !ruby/object:Gem::Requirement
|
93
|
+
requirements:
|
94
|
+
- - ">="
|
95
|
+
- !ruby/object:Gem::Version
|
96
|
+
version: '0'
|
97
|
+
- !ruby/object:Gem::Dependency
|
98
|
+
name: gimme
|
99
|
+
requirement: !ruby/object:Gem::Requirement
|
100
|
+
requirements:
|
101
|
+
- - ">="
|
102
|
+
- !ruby/object:Gem::Version
|
103
|
+
version: '0'
|
104
|
+
type: :development
|
105
|
+
prerelease: false
|
106
|
+
version_requirements: !ruby/object:Gem::Requirement
|
107
|
+
requirements:
|
108
|
+
- - ">="
|
109
|
+
- !ruby/object:Gem::Version
|
110
|
+
version: '0'
|
111
|
+
description:
|
112
|
+
email:
|
113
|
+
- searls@gmail.com
|
114
|
+
executables:
|
115
|
+
- standardrb
|
116
|
+
extensions: []
|
117
|
+
extra_rdoc_files: []
|
118
|
+
files:
|
119
|
+
- ".circleci/config.yml"
|
120
|
+
- ".gitignore"
|
121
|
+
- ".standard.yml"
|
122
|
+
- Gemfile
|
123
|
+
- Gemfile.lock
|
124
|
+
- LICENSE.txt
|
125
|
+
- README.md
|
126
|
+
- Rakefile
|
127
|
+
- bin/console
|
128
|
+
- bin/setup
|
129
|
+
- config/base.yml
|
130
|
+
- config/ruby-1.8.yml
|
131
|
+
- config/ruby-1.9.yml
|
132
|
+
- config/ruby-2.2.yml
|
133
|
+
- exe/standardrb
|
134
|
+
- lib/standard.rb
|
135
|
+
- lib/standard/builds_config.rb
|
136
|
+
- lib/standard/cli.rb
|
137
|
+
- lib/standard/cop/semantic_blocks.rb
|
138
|
+
- lib/standard/creates_config_store.rb
|
139
|
+
- lib/standard/creates_config_store/assigns_rubocop_yaml.rb
|
140
|
+
- lib/standard/creates_config_store/configures_ignored_paths.rb
|
141
|
+
- lib/standard/creates_config_store/sets_target_ruby_version.rb
|
142
|
+
- lib/standard/detects_fixability.rb
|
143
|
+
- lib/standard/file_finder.rb
|
144
|
+
- lib/standard/formatter.rb
|
145
|
+
- lib/standard/loads_runner.rb
|
146
|
+
- lib/standard/loads_yaml_config.rb
|
147
|
+
- lib/standard/merges_settings.rb
|
148
|
+
- lib/standard/parses_cli_option.rb
|
149
|
+
- lib/standard/railtie.rb
|
150
|
+
- lib/standard/rake.rb
|
151
|
+
- lib/standard/rubocop/ext.rb
|
152
|
+
- lib/standard/runners/help.rb
|
153
|
+
- lib/standard/runners/rubocop.rb
|
154
|
+
- lib/standard/runners/version.rb
|
155
|
+
- lib/standard/version.rb
|
156
|
+
- standard.gemspec
|
157
|
+
homepage: https://github.com/testdouble/standard
|
158
|
+
licenses: []
|
159
|
+
metadata: {}
|
160
|
+
post_install_message:
|
161
|
+
rdoc_options: []
|
162
|
+
require_paths:
|
163
|
+
- lib
|
164
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
165
|
+
requirements:
|
166
|
+
- - ">="
|
167
|
+
- !ruby/object:Gem::Version
|
168
|
+
version: '0'
|
169
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
170
|
+
requirements:
|
171
|
+
- - ">="
|
172
|
+
- !ruby/object:Gem::Version
|
173
|
+
version: '0'
|
174
|
+
requirements: []
|
175
|
+
rubygems_version: 3.0.1
|
176
|
+
signing_key:
|
177
|
+
specification_version: 4
|
178
|
+
summary: Ruby Style Guide, with linter & automatic code fixer
|
179
|
+
test_files: []
|