linters 1.0.0 → 2.0.0

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 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.