Class: ERBLint::RunnerConfig
- Inherits:
-
Object
- Object
- ERBLint::RunnerConfig
- Defined in:
- lib/erb_lint/runner_config.rb
Defined Under Namespace
Classes: Error
Class Method Summary collapse
Instance Method Summary collapse
- #for_linter(klass) ⇒ Object
- #global_exclude ⇒ Object
-
#initialize(config = nil) ⇒ RunnerConfig
constructor
A new instance of RunnerConfig.
- #merge(other_config) ⇒ Object
- #merge!(other_config) ⇒ Object
- #to_hash ⇒ Object
Constructor Details
#initialize(config = nil) ⇒ RunnerConfig
Returns a new instance of RunnerConfig.
7 8 9 |
# File 'lib/erb_lint/runner_config.rb', line 7 def initialize(config = nil) @config = (config || {}).dup.deep_stringify_keys end |
Class Method Details
.default ⇒ Object
42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 |
# File 'lib/erb_lint/runner_config.rb', line 42 def default new( linters: { AllowedScriptType: { enabled: true }, ClosingErbTagIndent: { enabled: true }, ExtraNewline: { enabled: true }, FinalNewline: { enabled: true }, NoJavascriptTagHelper: { enabled: true }, ParserErrors: { enabled: true }, RightTrim: { enabled: true }, SelfClosingTag: { enabled: true }, SpaceAroundErbTag: { enabled: true }, SpaceIndentation: { enabled: true }, SpaceInHtmlTag: { enabled: true }, TrailingWhitespace: { enabled: true }, }, ) end |
Instance Method Details
#for_linter(klass) ⇒ Object
15 16 17 18 19 20 21 22 23 24 25 26 |
# File 'lib/erb_lint/runner_config.rb', line 15 def for_linter(klass) klass_name = if klass.is_a?(String) klass.to_s elsif klass.is_a?(Class) && klass <= ERBLint::Linter klass.simple_name else raise ArgumentError, 'expected String or linter class' end linter_klass = LinterRegistry.find_by_name(klass_name) raise Error, "#{klass_name}: linter not found (is it loaded?)" unless linter_klass linter_klass.config_schema.new(config_hash_for_linter(klass_name)) end |
#global_exclude ⇒ Object
28 29 30 |
# File 'lib/erb_lint/runner_config.rb', line 28 def global_exclude @config['exclude'] || [] end |
#merge(other_config) ⇒ Object
32 33 34 |
# File 'lib/erb_lint/runner_config.rb', line 32 def merge(other_config) self.class.new(@config.deep_merge(other_config.to_hash)) end |
#merge!(other_config) ⇒ Object
36 37 38 39 |
# File 'lib/erb_lint/runner_config.rb', line 36 def merge!(other_config) @config.deep_merge!(other_config.to_hash) self end |
#to_hash ⇒ Object
11 12 13 |
# File 'lib/erb_lint/runner_config.rb', line 11 def to_hash @config.dup end |