Parent

Files

Class/Module Index [+]

Quicksearch

RuboCop::Cop::Style::Blocks

Check for uses of braces or do/end around single line or multi-line blocks.

Public Instance Methods

on_block(node) click to toggle source
# File lib/rubocop/cop/style/blocks.rb, line 26
def on_block(node)
  return if ignored_node?(node)

  block_length = Util.block_length(node)
  block_begin = node.loc.begin.source

  if block_length > 0 && block_begin == '{'
    add_offense(node, :begin, MULTI_LINE_MSG)
  elsif block_length == 0 && block_begin != '{'
    add_offense(node, :begin, SINGLE_LINE_MSG)
  end
end
on_send(node) click to toggle source
# File lib/rubocop/cop/style/blocks.rb, line 13
def on_send(node)
  _receiver, method_name, *args = *node
  return unless args.any?

  block = get_block(args.last)
  return unless block && !parentheses?(node) && !operator?(method_name)

  # If there are no parentheses around the arguments, then braces and
  # do-end have different meaning due to how they bind, so we allow
  # either.
  ignore_node(block)
end

[Validate]

Generated with the Darkfish Rdoc Generator 2.