class RuboCop::Cop::Style::SingleLineMethods
def @table.columns; end
def self.resource_class=(klass); end
def no_op; end
# good
def @table.columns; super; end
def link_to(url); {:name => url}; end
def some_method; body end
# bad
@example
It will accept single-line methods with no body.
This cop checks for single-line method definitions that contain a body.
def allow_empty?
def allow_empty? cop_config['AllowIfMethodIsEmpty'] end
def autocorrect(node)
def autocorrect(node) lambda do |corrector| each_part(node.body) do |part| LineBreakCorrector.break_line_before( range: part, node: node, corrector: corrector, configured_width: configured_indentation_width ) end LineBreakCorrector.break_line_before( range: node.loc.end, node: node, corrector: corrector, indent_steps: 0, configured_width: configured_indentation_width ) move_comment(node, corrector) end end
def each_part(body)
def each_part(body) return unless body if body.begin_type? body.each_child_node { |part| yield part.source_range } else yield body.source_range end end
def move_comment(node, corrector)
def move_comment(node, corrector) LineBreakCorrector.move_comment( eol_comment: end_of_line_comment(node.source_range.line), node: node, corrector: corrector ) end
def on_def(node)
def on_def(node) return unless node.single_line? return if allow_empty? && !node.body add_offense(node) end