Class: PuppetLint::Configuration
- Inherits:
-
Object
- Object
- PuppetLint::Configuration
- Defined in:
- lib/puppet-lint/configuration.rb
Overview
Public: A singleton class to store the running configuration of puppet-lint.
Class Method Summary collapse
-
.add_check(check) ⇒ Object
Internal: Add helper methods for a new check to the PuppetLint::Configuration object.
-
.add_option(option) ⇒ Object
Public: Add an option to the PuppetLint::Configuration object from outside the class.
Instance Method Summary collapse
-
#add_check(check, klass) ⇒ Object
Internal: Register a new check.
-
#add_option(option) ⇒ Object
Internal: Add options to the PuppetLint::Configuration object from inside the class.
-
#check_object ⇒ Object
Internal: Access the internal storage for check method blocks.
-
#checks ⇒ Object
Public: Get a list of all the defined checks.
-
#defaults ⇒ Object
Public: Clear the PuppetLint::Configuration storage and set some sane default values.
-
#method_missing(method, *args, &_block) ⇒ Object
Public: Catch situations where options are being set for the first time and create the necessary methods to get & set the option in the future.
- #respond_to_missing?(method) ⇒ Boolean
-
#settings ⇒ Object
Internal: Access the internal storage for settings.
Dynamic Method Handling
This class handles dynamic methods through the method_missing method
#method_missing(method, *args, &_block) ⇒ Object
Public: Catch situations where options are being set for the first time and create the necessary methods to get & set the option in the future.
args - An Array of values to set the option to. method - The String name of the option. block - Unused.
Returns nothing.
Signature
<option>=(value)
51 52 53 54 55 56 57 |
# File 'lib/puppet-lint/configuration.rb', line 51 def method_missing(method, *args, &_block) super unless method.to_s =~ %r{^(\w+)=?$} option = Regexp.last_match(1) add_option(option.to_s) if settings[option].nil? settings[option] = args[0] unless args.empty? end |
Class Method Details
.add_check(check) ⇒ Object
Internal: Add helper methods for a new check to the PuppetLint::Configuration object.
check - The String name of the check.
Returns nothing.
Signature
<check>_enabled?
disable_<check>
enable_<check>
16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 |
# File 'lib/puppet-lint/configuration.rb', line 16 def self.add_check(check) # Public: Determine if the named check is enabled. # # Returns true if the check is enabled, otherwise return false. define_method("#{check}_enabled?") do settings["#{check}_disabled"] == true ? false : true end # Public: Disable the named check. # # Returns nothing. define_method("disable_#{check}") do settings["#{check}_disabled"] = true end # Public: Enable the named check. # # Returns nothing. define_method("enable_#{check}") do settings["#{check}_disabled"] = false end end |
.add_option(option) ⇒ Object
Public: Add an option to the PuppetLint::Configuration object from outside the class.
option - The String name of the option.
Returns nothing.
Signature
<option>
<option>=(value)
89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 |
# File 'lib/puppet-lint/configuration.rb', line 89 def self.add_option(option) # Public: Set the value of the named option. # # value - The value to set the option to. # # Returns nothing. define_method("#{option}=") do |value| settings[option] = value end # Public: Get the value of the named option. # # Returns the value of the option. define_method(option) do settings[option] end end |
Instance Method Details
#add_check(check, klass) ⇒ Object
Internal: Register a new check.
check - The String name of the check klass - The Class containing the check logic.
Returns nothing.
113 114 115 116 |
# File 'lib/puppet-lint/configuration.rb', line 113 def add_check(check, klass) self.class.add_check(check) check_object[check] = klass end |
#add_option(option) ⇒ Object
Internal: Add options to the PuppetLint::Configuration object from inside the class.
option - The String name of the option.
Returns nothing.
Signature
<option>
<option>=(value)
74 75 76 |
# File 'lib/puppet-lint/configuration.rb', line 74 def add_option(option) self.class.add_option(option) end |
#check_object ⇒ Object
Internal: Access the internal storage for check method blocks.
Returns a Hash containing all the check blocks.
128 129 130 |
# File 'lib/puppet-lint/configuration.rb', line 128 def check_object @check_object ||= {} end |
#checks ⇒ Object
Public: Get a list of all the defined checks.
Returns an Array of String check names.
135 136 137 |
# File 'lib/puppet-lint/configuration.rb', line 135 def checks check_object.keys end |
#defaults ⇒ Object
Public: Clear the PuppetLint::Configuration storage and set some sane default values.
Returns nothing.
143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 |
# File 'lib/puppet-lint/configuration.rb', line 143 def defaults settings.clear self.with_filename = false self.fail_on_warnings = false self.error_level = :all self.log_format = '' self.with_context = false self.fix = false self.json = false self.sarif = false self.show_ignored = false self.ignore_paths = ['vendor/**/*.pp'] self.github_actions = ENV.key?('GITHUB_ACTION') self.codeclimate_report_file = ENV['CODECLIMATE_REPORT_FILE'] end |
#respond_to_missing?(method) ⇒ Boolean
59 60 61 |
# File 'lib/puppet-lint/configuration.rb', line 59 def respond_to_missing?(method, *) method.to_s =~ %r{^\w+=?$} || super end |
#settings ⇒ Object
Internal: Access the internal storage for settings.
Returns a Hash containing all the settings.
121 122 123 |
# File 'lib/puppet-lint/configuration.rb', line 121 def settings @settings ||= {} end |