module RuboCop::Cop::ConfigurableEnforcedStyle
Handles ‘EnforcedStyle` configuration parameters.
Constants
- SYMBOL_TO_STRING_CACHE
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 alternative_styles.first end
alternative_styles()
click to toggle source
# File lib/rubocop/cop/mixin/configurable_enforced_style.rb, line 96 def alternative_styles (supported_styles - [style]) 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 64 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 68 def detected_style=(style) Formatter::DisabledConfigFormatter.detected_styles[cop_name] = style end
no_acceptable_style!()
click to toggle source
# File lib/rubocop/cop/mixin/configurable_enforced_style.rb, line 60 def no_acceptable_style! self.config_to_allow_offenses = { 'Enabled' => false } end
Also aliased as: conflicting_styles_detected, unrecognized_style_detected
no_acceptable_style?()
click to toggle source
rubocop:enable Metrics
# File lib/rubocop/cop/mixin/configurable_enforced_style.rb, line 56 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
style()
click to toggle source
# File lib/rubocop/cop/mixin/configurable_enforced_style.rb, line 79 def style @style ||= begin s = cop_config[style_parameter_name].to_sym raise "Unknown style #{s} selected!" unless supported_styles.include?(s) s end end
style_configured?()
click to toggle source
# File lib/rubocop/cop/mixin/configurable_enforced_style.rb, line 75 def style_configured? cop_config.key?(style_parameter_name) end
style_detected(detected)
click to toggle source
rubocop:disable Metrics
# File lib/rubocop/cop/mixin/configurable_enforced_style.rb, line 29 def style_detected(detected) return if no_acceptable_style? # This logic is more complex than it needs to be # to avoid allocating Arrays in the hot code path. updated_list = if detected_style if detected_style.size == 1 && detected_style.include?(SYMBOL_TO_STRING_CACHE[detected]) detected_style else detected_as_strings = SYMBOL_TO_STRING_CACHE.values_at(*detected) detected_style & detected_as_strings end else # We haven't observed any specific style yet. SYMBOL_TO_STRING_CACHE.values_at(*detected) end if updated_list.empty? no_acceptable_style! else self.detected_style = updated_list config_to_allow_offenses[style_parameter_name] = updated_list.first end end
style_parameter_name()
click to toggle source
# File lib/rubocop/cop/mixin/configurable_enforced_style.rb, line 107 def style_parameter_name 'EnforcedStyle' end
supported_styles()
click to toggle source
# File lib/rubocop/cop/mixin/configurable_enforced_style.rb, line 100 def supported_styles @supported_styles ||= begin supported_styles = Util.to_supported_styles(style_parameter_name) cop_config[supported_styles].map(&:to_sym) end 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