class Linters::LinterSettings
Constants
- DEFAULT_SETTINGS
Attributes
settings[R]
Public Class Methods
new(name, custom_settings = {})
click to toggle source
# File lib/linters/linter_settings.rb, line 31 def initialize(name, custom_settings = {}) @name = name @settings = DEFAULT_SETTINGS.fetch(name) { {} } @settings = @settings.merge(load_settings(name)).merge(custom_settings) end
Public Instance Methods
command()
click to toggle source
# File lib/linters/linter_settings.rb, line 45 def command settings.fetch(:command) { settings.fetch(:default_command) } end
name()
click to toggle source
# File lib/linters/linter_settings.rb, line 37 def name settings.fetch(:name) { @name } end
parse_output()
click to toggle source
# File lib/linters/linter_settings.rb, line 49 def parse_output settings[:parse_output] end
warnings_number()
click to toggle source
# File lib/linters/linter_settings.rb, line 41 def warnings_number ENV.fetch("LINTERS_#{ name.upcase }_NUMBER_WARNINGS", settings.fetch(:warnings_number) { 0 }) end
Private Instance Methods
load_settings(name)
click to toggle source
:reek: UtilityFunction
# File lib/linters/linter_settings.rb, line 58 def load_settings(name) path = Linters.configuration.settings_path return {} unless File.exist?(path) (YAML.load_file(path)['linters'][name.to_s] || {}).each_with_object({}) do |item, result| result[item[0].to_sym] = item[1] end end