class RuboCop::Cop::Style::DirEmpty


Dir.empty?(‘path/to/dir’)
# good
Dir.each_child(‘path/to/dir’).none?
Dir.children(‘path/to/dir’).size == 0
Dir.children(‘path/to/dir’).empty?
Dir.entries(‘path/to/dir’).size == 2
# bad
@example
Prefer to use ‘Dir.empty?(’path/to/dir’)‘ when checking if a directory is empty.

def bang(node)

def bang(node)
  if (node.method?(:==) && node.child_nodes.first.method?(:!)) ||
     (node.method?(:>) && !node.child_nodes.first.method?(:!))
    '!'
  end
end

def on_send(node)

def on_send(node)
  offensive?(node) do |const_node, arg_node|
    add_offense(node, message: format(MSG, arg: arg_node.source)) do |corrector|
      bang(node)
      corrector.replace(node,
                        "#{bang(node)}#{const_node.source}.empty?(#{arg_node.source})")
    end
  end
end