linters 1.0.0 → 2.0.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 1f98842c199ffe4239b74cfe191ab410cfd69a656419f5ece6c40e3cb915b081
4
- data.tar.gz: bf2bea64cec935d8956b6f76080c32e070d539dab871162fb83968dd8ab049f7
3
+ metadata.gz: 97ba0bafaaff95dd94a4a09ad78167ccfddc394b5567c88ddf19d39deb5f3bc3
4
+ data.tar.gz: 0d10e647ad701f81ae51723c7ddf0f85011ae8020e2d061fb298539f1dfdb4ca
5
5
  SHA512:
6
- metadata.gz: e095916980ae878fd9d7dfca9d9c4bb5dc48ab046fadf8754ffd3500e2b3f0d6dd60236e32b1b7a9819df14522bfdc06fc5e3a582591a79c43e3f3626eedbf69
7
- data.tar.gz: d6903ad6dcd855510c6e9fbbd62673182ff43faf7edb802d86ac76941a7d8611e3b2531713e8193ff6bc2e85600bf109847ce265b167ba2bcd8a7cf87412011c
6
+ metadata.gz: d36c80e6a99968aa8c6661ee8e933f73695734fab3ab7c4c17c8571b08dc5967722b3c84d3588fa60367dbffc2aac25ec7e2e3ad0d0e02bbc89c38050fc97737
7
+ data.tar.gz: 897f957f4e263e3c3818bc2ffd0b94280d3e83ab0fe8927ea77e384fd029c9741e94e003e145fab0918591c59aedc2e9b0e86833b393b35cdd3b88e90b6c8ead
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- linters (1.0.0)
4
+ linters (1.1.1)
5
5
  rake
6
6
 
7
7
  GEM
@@ -36,7 +36,7 @@ GEM
36
36
  ast (~> 2.4.0)
37
37
  psych (3.1.0)
38
38
  rainbow (3.0.0)
39
- rake (12.3.0)
39
+ rake (13.0.3)
40
40
  reek (5.4.0)
41
41
  codeclimate-engine-rb (~> 0.4.0)
42
42
  kwalify (~> 0.7.0)
@@ -81,13 +81,13 @@ PLATFORMS
81
81
 
82
82
  DEPENDENCIES
83
83
  bundler (~> 1.16)
84
- bundler-audit (~> 0.6.1)
85
- byebug (~> 11.0.1)
86
- fasterer (~> 0.5.1)
84
+ bundler-audit (~> 0.6)
85
+ byebug (~> 11.0)
86
+ fasterer (~> 0.5)
87
87
  linters!
88
- reek (~> 5.4.0)
88
+ reek (~> 5.4)
89
89
  rspec (~> 3.0)
90
- rubocop (~> 0.71.0)
90
+ rubocop (~> 0.71)
91
91
 
92
92
  BUNDLED WITH
93
- 1.17.2
93
+ 1.17.3
data/LICENSE.txt CHANGED
@@ -1,6 +1,6 @@
1
1
  The MIT License (MIT)
2
2
 
3
- Copyright (c) 2019 ruby-pianist
3
+ Copyright (c) 2020 skrinits
4
4
 
5
5
  Permission is hereby granted, free of charge, to any person obtaining a copy
6
6
  of this software and associated documentation files (the "Software"), to deal
data/README.md CHANGED
@@ -49,13 +49,18 @@ Settings with default values:
49
49
  Linters.configure do |config|
50
50
  config.custom_linters = {}
51
51
  config.linters = %i[rubocop reek bundle_audit fasterer]
52
- config.settings_path = 'config/settings.yml'
52
+ config.settings_path = 'config/linter_settings.yml'
53
53
  end
54
54
  ```
55
55
 
56
- Default config/settings.yml:
56
+ Default config/linter_settings.yml:
57
57
 
58
58
  ```
59
+ checkers:
60
+ - rubocop
61
+ - reek
62
+ - bundle_audit
63
+ - fasterer
59
64
  rubocop:
60
65
  warnings_number: 0
61
66
  reek:
@@ -74,7 +79,7 @@ If settings is absent that warnings_number equal zero.
74
79
  config.custom_linters = {
75
80
  name: {
76
81
  command: 'execute command',
77
- parse_output: 'parse output of the command for getting quantity of warnings'
82
+ parse_output: lambda { |output| 'parse output of the command for getting quantity of warnings' }
78
83
  }
79
84
  }
80
85
  end
@@ -86,7 +91,7 @@ If settings is absent that warnings_number equal zero.
86
91
  config.custom_linters = {
87
92
  rubocop: {
88
93
  command: 'your command',
89
- parse_output: 'your parsing output'
94
+ parse_output: lambda { |output| 'your parsing output' }
90
95
  }
91
96
  }
92
97
  end
@@ -104,7 +109,7 @@ If settings is absent that warnings_number equal zero.
104
109
 
105
110
  ## Contributing
106
111
 
107
- Bug reports and pull requests are welcome on GitHub at https://github.com/ruby-pianist/linters.
112
+ Bug reports and pull requests are welcome on GitHub at https://github.com/skrinits/linters.
108
113
 
109
114
  ## License
110
115
 
@@ -1,4 +1,9 @@
1
1
  linters:
2
+ checkers:
3
+ - rubocop
4
+ - reek
5
+ - bundle_audit
6
+ - fasterer
2
7
  rubocop:
3
8
  warnings_number: 0
4
9
  reek:
@@ -3,10 +3,20 @@ module Linters
3
3
  # :reek:Attribute
4
4
  attr_accessor :custom_linters, :linters, :settings_path
5
5
 
6
+ DEFAULT_CHECKERS = %i[rubocop reek bundle_audit fasterer].freeze
7
+
6
8
  def initialize
7
9
  @custom_linters = {}
8
- @linters = %i[rubocop reek bundle_audit fasterer]
9
- @settings_path = 'config/settings.yml'
10
+ @settings_path = ENV.fetch('LINTERS_SETTING_PATH', 'config/linter_settings.yml')
11
+ @linters = ENV.fetch('LINTERS_CHECKERS', load_checkers(@settings_path))
12
+ end
13
+
14
+ private
15
+
16
+ def load_checkers(path)
17
+ return DEFAULT_CHECKERS unless File.exist?(path)
18
+
19
+ (YAML.load_file(path)['linters']['checkers'] || DEFAULT_CHECKERS).map(&:to_sym)
10
20
  end
11
21
  end
12
22
  end
@@ -39,7 +39,7 @@ module Linters
39
39
  end
40
40
 
41
41
  def warnings_number
42
- settings.fetch(:warnings_number) { 0 }
42
+ ENV.fetch("LINTERS_#{ name.upcase }_NUMBER_WARNINGS", settings.fetch(:warnings_number) { 0 })
43
43
  end
44
44
 
45
45
  def command
@@ -1,3 +1,3 @@
1
1
  module Linters
2
- VERSION = '1.0.0'.freeze
2
+ VERSION = '2.0.0'.freeze
3
3
  end
@@ -2,7 +2,7 @@ require_relative '../linters'
2
2
 
3
3
  namespace :linters do
4
4
  desc 'Run linters or the linter with the specific name'
5
- task :run, [:name] do |_, args|
5
+ task :run, %i[name] do |_, args|
6
6
  raise "Please, set the linter's name" if args.name.nil?
7
7
 
8
8
  manager = Linters::Manager.new
data/linters.gemspec CHANGED
@@ -5,12 +5,13 @@ require 'linters/version'
5
5
  Gem::Specification.new do |spec|
6
6
  spec.name = 'linters'
7
7
  spec.version = Linters::VERSION
8
- spec.authors = ['Ruby Pianist']
9
- spec.email = ['rubypianist@gmail.com']
8
+ spec.authors = ['skrinits']
9
+ spec.email = ['110100reg@gmail.com']
10
10
 
11
11
  spec.summary = "Tool checks ruby applications using different code's analyzers."
12
- spec.description = 'Check of ruby applications using rubocop, reek, brakeman, fasterer, bundle_audit and the other custom linters'
13
- spec.homepage = 'https://github.com/ruby-pianist/linters'
12
+ spec.description = 'Check of ruby applications using rubocop, reek, brakeman, fasterer,'\
13
+ ' bundle_audit and the other custom linters'
14
+ spec.homepage = 'https://github.com/skrinits/linters'
14
15
  spec.license = 'MIT'
15
16
 
16
17
  # Specify which files should be added to the gem when it is released.
@@ -25,10 +26,10 @@ Gem::Specification.new do |spec|
25
26
  spec.add_dependency 'rake'
26
27
 
27
28
  spec.add_development_dependency 'bundler', '~> 1.16'
28
- spec.add_development_dependency 'bundler-audit', '~> 0.6.1'
29
- spec.add_development_dependency 'byebug', '~> 11.0.1'
30
- spec.add_development_dependency 'fasterer', '~> 0.5.1'
31
- spec.add_development_dependency 'reek', '~> 5.4.0'
29
+ spec.add_development_dependency 'bundler-audit', '~> 0.6'
30
+ spec.add_development_dependency 'byebug', '~> 11.0'
31
+ spec.add_development_dependency 'fasterer', '~> 0.5'
32
+ spec.add_development_dependency 'reek', '~> 5.4'
32
33
  spec.add_development_dependency 'rspec', '~> 3.0'
33
- spec.add_development_dependency 'rubocop', '~> 0.71.0'
34
+ spec.add_development_dependency 'rubocop', '~> 0.71'
34
35
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: linters
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.0
4
+ version: 2.0.0
5
5
  platform: ruby
6
6
  authors:
7
- - Ruby Pianist
7
+ - skrinits
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2019-10-25 00:00:00.000000000 Z
11
+ date: 2021-06-21 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rake
@@ -44,56 +44,56 @@ dependencies:
44
44
  requirements:
45
45
  - - "~>"
46
46
  - !ruby/object:Gem::Version
47
- version: 0.6.1
47
+ version: '0.6'
48
48
  type: :development
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
52
  - - "~>"
53
53
  - !ruby/object:Gem::Version
54
- version: 0.6.1
54
+ version: '0.6'
55
55
  - !ruby/object:Gem::Dependency
56
56
  name: byebug
57
57
  requirement: !ruby/object:Gem::Requirement
58
58
  requirements:
59
59
  - - "~>"
60
60
  - !ruby/object:Gem::Version
61
- version: 11.0.1
61
+ version: '11.0'
62
62
  type: :development
63
63
  prerelease: false
64
64
  version_requirements: !ruby/object:Gem::Requirement
65
65
  requirements:
66
66
  - - "~>"
67
67
  - !ruby/object:Gem::Version
68
- version: 11.0.1
68
+ version: '11.0'
69
69
  - !ruby/object:Gem::Dependency
70
70
  name: fasterer
71
71
  requirement: !ruby/object:Gem::Requirement
72
72
  requirements:
73
73
  - - "~>"
74
74
  - !ruby/object:Gem::Version
75
- version: 0.5.1
75
+ version: '0.5'
76
76
  type: :development
77
77
  prerelease: false
78
78
  version_requirements: !ruby/object:Gem::Requirement
79
79
  requirements:
80
80
  - - "~>"
81
81
  - !ruby/object:Gem::Version
82
- version: 0.5.1
82
+ version: '0.5'
83
83
  - !ruby/object:Gem::Dependency
84
84
  name: reek
85
85
  requirement: !ruby/object:Gem::Requirement
86
86
  requirements:
87
87
  - - "~>"
88
88
  - !ruby/object:Gem::Version
89
- version: 5.4.0
89
+ version: '5.4'
90
90
  type: :development
91
91
  prerelease: false
92
92
  version_requirements: !ruby/object:Gem::Requirement
93
93
  requirements:
94
94
  - - "~>"
95
95
  - !ruby/object:Gem::Version
96
- version: 5.4.0
96
+ version: '5.4'
97
97
  - !ruby/object:Gem::Dependency
98
98
  name: rspec
99
99
  requirement: !ruby/object:Gem::Requirement
@@ -114,23 +114,22 @@ dependencies:
114
114
  requirements:
115
115
  - - "~>"
116
116
  - !ruby/object:Gem::Version
117
- version: 0.71.0
117
+ version: '0.71'
118
118
  type: :development
119
119
  prerelease: false
120
120
  version_requirements: !ruby/object:Gem::Requirement
121
121
  requirements:
122
122
  - - "~>"
123
123
  - !ruby/object:Gem::Version
124
- version: 0.71.0
124
+ version: '0.71'
125
125
  description: Check of ruby applications using rubocop, reek, brakeman, fasterer, bundle_audit
126
126
  and the other custom linters
127
127
  email:
128
- - rubypianist@gmail.com
128
+ - 110100reg@gmail.com
129
129
  executables: []
130
130
  extensions: []
131
131
  extra_rdoc_files: []
132
132
  files:
133
- - ".byebug_history"
134
133
  - ".gitignore"
135
134
  - ".reek.yml"
136
135
  - ".rspec"
@@ -143,7 +142,7 @@ files:
143
142
  - Rakefile
144
143
  - bin/console
145
144
  - bin/setup
146
- - config/settings.yml
145
+ - config/linter_settings.yml
147
146
  - lib/linters.rb
148
147
  - lib/linters/builder.rb
149
148
  - lib/linters/configuration.rb
@@ -154,7 +153,7 @@ files:
154
153
  - lib/linters/version.rb
155
154
  - lib/tasks/linters.rake
156
155
  - linters.gemspec
157
- homepage: https://github.com/ruby-pianist/linters
156
+ homepage: https://github.com/skrinits/linters
158
157
  licenses:
159
158
  - MIT
160
159
  metadata: {}
@@ -173,7 +172,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
173
172
  - !ruby/object:Gem::Version
174
173
  version: '0'
175
174
  requirements: []
176
- rubygems_version: 3.0.3
175
+ rubygems_version: 3.0.8
177
176
  signing_key:
178
177
  specification_version: 4
179
178
  summary: Tool checks ruby applications using different code's analyzers.