module RuboCop::Cop::ConfigurableEnforcedStyle
Handles `EnforcedStyle` configuration parameters.
Public Instance Methods
alternative_style()
click to toggle source
# File lib/rubocop/cop/mixin/configurable_enforced_style.rb, line 88 def alternative_style if supported_styles.size != 2 raise 'alternative_style can only be used when there are exactly ' '2 SupportedStyles' end (supported_styles - [style]).first end
ambiguous_style_detected(*possibilities)
click to toggle source
# File lib/rubocop/cop/mixin/configurable_enforced_style.rb, line 19 def ambiguous_style_detected(*possibilities) style_detected(possibilities) end
correct_style_detected()
click to toggle source
# File lib/rubocop/cop/mixin/configurable_enforced_style.rb, line 11 def correct_style_detected style_detected(style) end
detected_style()
click to toggle source
# File lib/rubocop/cop/mixin/configurable_enforced_style.rb, line 55 def detected_style Formatter::DisabledConfigFormatter.detected_styles[cop_name] ||= nil end
detected_style=(style)
click to toggle source
# File lib/rubocop/cop/mixin/configurable_enforced_style.rb, line 59 def detected_style=(style) Formatter::DisabledConfigFormatter.detected_styles[cop_name] = style if style.nil? no_acceptable_style! elsif style.is_a?(Array) if style.empty? no_acceptable_style! else config_to_allow_offenses[parameter_name] = style[0] end else config_to_allow_offenses[parameter_name] = style end end
no_acceptable_style!()
click to toggle source
# File lib/rubocop/cop/mixin/configurable_enforced_style.rb, line 50 def no_acceptable_style! self.config_to_allow_offenses = { 'Enabled' => false } Formatter::DisabledConfigFormatter.detected_styles[cop_name] = [] end
Also aliased as: conflicting_styles_detected, unrecognized_style_detected
no_acceptable_style?()
click to toggle source
# File lib/rubocop/cop/mixin/configurable_enforced_style.rb, line 46 def no_acceptable_style? config_to_allow_offenses['Enabled'] == false end
opposite_style_detected()
click to toggle source
# File lib/rubocop/cop/mixin/configurable_enforced_style.rb, line 7 def opposite_style_detected style_detected(alternative_style) end
parameter_name()
click to toggle source
# File lib/rubocop/cop/mixin/configurable_enforced_style.rb, line 100 def parameter_name 'EnforcedStyle' end
style()
click to toggle source
# File lib/rubocop/cop/mixin/configurable_enforced_style.rb, line 78 def style @enforced_style ||= begin s = cop_config[parameter_name].to_sym unless supported_styles.include?(s) raise "Unknown style #{s} selected!" end s end end
style_detected(detected)
click to toggle source
# File lib/rubocop/cop/mixin/configurable_enforced_style.rb, line 23 def style_detected(detected) # `detected` can be a single style, or an Array of possible styles # (if there is more than one which matches the observed code) return if no_acceptable_style? if detected.is_a?(Array) detected.map!(&:to_s) else detected = detected.to_s end if !detected_style # we haven't observed any specific style yet self.detected_style = detected elsif detected_style.is_a?(Array) self.detected_style &= [*detected] elsif detected.is_a?(Array) no_acceptable_style! unless detected.include?(detected_style) else no_acceptable_style! unless detected_style == detected end end
supported_styles()
click to toggle source
# File lib/rubocop/cop/mixin/configurable_enforced_style.rb, line 96 def supported_styles @supported_styles ||= cop_config['SupportedStyles'].map(&:to_sym) end
unexpected_style_detected(unexpected)
click to toggle source
# File lib/rubocop/cop/mixin/configurable_enforced_style.rb, line 15 def unexpected_style_detected(unexpected) style_detected(unexpected) end