Module: RuboCop::Cop::EndlessMethodRewriter
| Relationships & Source Files | |
| Extension / Inclusion / Inheritance Descendants | |
|
Included In:
| |
| Defined in: | lib/rubocop/cop/mixin/endless_method_rewriter.rb |
Overview
Common functionality for rewriting endless methods to normal method definitions
Instance Method Summary
Instance Method Details
#arguments(node, missing = '') (private)
[ GitHub ]# File 'lib/rubocop/cop/mixin/endless_method_rewriter.rb', line 23
def arguments(node, missing = '') node.arguments.any? ? node.arguments.source : missing end
#configured_indentation_width (private)
[ GitHub ]# File 'lib/rubocop/cop/mixin/endless_method_rewriter.rb', line 27
def configured_indentation_width cop_config['IndentationWidth'] || config.for_cop('Layout/IndentationWidth')['Width'] || 2 end
#correct_to_multiline(corrector, node)
[ GitHub ]# File 'lib/rubocop/cop/mixin/endless_method_rewriter.rb', line 7
def correct_to_multiline(corrector, node) replacement = [ "def #{receiver(node)}#{node.method_name}#{arguments(node)}", "#{indent(node, offset: configured_indentation_width)}#{node.body.source}", "#{indent(node)}end" ].join("\n") corrector.replace(node, replacement) end
#receiver(node) (private)
[ GitHub ]# File 'lib/rubocop/cop/mixin/endless_method_rewriter.rb', line 19
def receiver(node) node.receiver ? "#{node.receiver.source}#{node.loc.operator.source}" : '' end