class RuboCop::Cop::Lint::EmptyFile

Enforces that Ruby source files are not empty.

@example

# bad
# Empty file

# good
# File containing non commented source lines

@example AllowComments: true (default)

# good
# File consisting only of comments

@example AllowComments: false

# bad
# File consisting only of comments

Constants

MSG

Public Instance Methods

on_new_investigation() click to toggle source
# File lib/rubocop/cop/lint/empty_file.rb, line 28
def on_new_investigation
  add_global_offense(MSG) if offending?
end

Private Instance Methods

contains_only_comments?() click to toggle source
# File lib/rubocop/cop/lint/empty_file.rb, line 42
def contains_only_comments?
  processed_source.lines.all? { |line| line.blank? || comment_line?(line) }
end
empty_file?() click to toggle source
# File lib/rubocop/cop/lint/empty_file.rb, line 38
def empty_file?
  processed_source.buffer.source.empty?
end
offending?() click to toggle source
# File lib/rubocop/cop/lint/empty_file.rb, line 34
def offending?
  empty_file? || (!cop_config['AllowComments'] && contains_only_comments?)
end