class RuboCop::Cop::Style::AccessModifierDeclarations
Access modifiers should be declared to apply to a group of methods or inline before each method, depending on configuration.
@example EnforcedStyle: group (default)
# bad class Foo private def bar; end private def baz; end end # good class Foo private def bar; end def baz; end end
@example EnforcedStyle: inline
# bad class Foo private def bar; end def baz; end end # good class Foo private def bar; end private def baz; end end
Constants
- GROUP_STYLE_MESSAGE
- INLINE_STYLE_MESSAGE
Public Instance Methods
on_send(node)
click to toggle source
# File lib/rubocop/cop/style/access_modifier_declarations.rb, line 64 def on_send(node) return unless node.access_modifier? if offense?(node) add_offense(node, location: :selector) do opposite_style_detected end else correct_style_detected end end
Private Instance Methods
access_modifier_is_inlined?(node)
click to toggle source
# File lib/rubocop/cop/style/access_modifier_declarations.rb, line 91 def access_modifier_is_inlined?(node) node.arguments.any? end
access_modifier_is_not_inlined?(node)
click to toggle source
# File lib/rubocop/cop/style/access_modifier_declarations.rb, line 95 def access_modifier_is_not_inlined?(node) !access_modifier_is_inlined?(node) end
group_style?()
click to toggle source
# File lib/rubocop/cop/style/access_modifier_declarations.rb, line 83 def group_style? style == :group end
inline_style?()
click to toggle source
# File lib/rubocop/cop/style/access_modifier_declarations.rb, line 87 def inline_style? style == :inline end
message(node)
click to toggle source
# File lib/rubocop/cop/style/access_modifier_declarations.rb, line 99 def message(node) access_modifier = node.loc.selector.source if group_style? format(GROUP_STYLE_MESSAGE, access_modifier: access_modifier) elsif inline_style? format(INLINE_STYLE_MESSAGE, access_modifier: access_modifier) end end
offense?(node)
click to toggle source
# File lib/rubocop/cop/style/access_modifier_declarations.rb, line 78 def offense?(node) (group_style? && access_modifier_is_inlined?(node)) || (inline_style? && access_modifier_is_not_inlined?(node)) end