Class: RuboCop::Cop::Discourse::Services::GroupKeywords
- Inherits:
-
Base
- Object
- Base
- RuboCop::Cop::Discourse::Services::GroupKeywords
- Extended by:
- AutoCorrector
- Defined in:
- lib/rubocop/cop/discourse/services/group_keywords.rb
Overview
Don’t put empty lines between keywords that are not multiline blocks.
Constant Summary collapse
- MSG =
"Group one-liner steps together by removing extra empty lines."- RESTRICT_ON_SEND =
%i[step model policy].freeze
Instance Method Summary collapse
Instance Method Details
#on_class(node) ⇒ Object
37 38 39 40 |
# File 'lib/rubocop/cop/discourse/services/group_keywords.rb', line 37 def on_class(node) return unless service_include?(node) @service = true end |
#on_send(node) ⇒ Object
42 43 44 45 46 47 48 49 50 51 52 53 |
# File 'lib/rubocop/cop/discourse/services/group_keywords.rb', line 42 def on_send(node) return unless service? return unless top_level?(node) return unless extra_empty_line_after?(node) add_offense(node, message: MSG) do |corrector| range = node.loc.expression.end.with(end_pos: node.right_sibling.loc.expression.begin_pos) content = range.source.gsub(/^(\n)+/, "\n") corrector.replace(range, content) end end |