class RuboCop::Cop::Bundler::GemFilename

Project contains gems.rb and gems.locked files
# good
Project contains gems.rb and Gemfile.lock file
# bad
Project contains Gemfile and Gemfile.lock files
# bad
@example EnforcedStyle: gems.rb
Project contains Gemfile and Gemfile.lock
# good
Project contains Gemfile and gems.locked file
# bad
Project contains gems.rb and gems.locked files
# bad
@example EnforcedStyle: Gemfile (default)
associated lock file based on the configuration.
Verifies that a project contains Gemfile or gems.rb file and correct

def expected_gemfile?(basename)

def expected_gemfile?(basename)
  (gemfile_required? && GEMFILE_FILES.include?(basename)) ||
    (gems_rb_required? && GEMS_RB_FILES.include?(basename))
end

def gemfile_offense?(basename)

def gemfile_offense?(basename)
  gemfile_required? && GEMS_RB_FILES.include?(basename)
end

def gemfile_required?

def gemfile_required?
  style == :Gemfile
end

def gems_rb_offense?(basename)

def gems_rb_offense?(basename)
  gems_rb_required? && GEMFILE_FILES.include?(basename)
end

def gems_rb_required?

def gems_rb_required?
  style == :'gems.rb'
end

def on_new_investigation

def on_new_investigation
  file_path = processed_source.file_path
  basename = File.basename(file_path)
  return if expected_gemfile?(basename)
  register_offense(file_path, basename)
end

def register_gemfile_offense(file_path, basename)

def register_gemfile_offense(file_path, basename)
  message = case basename
            when 'gems.rb'
              MSG_GEMFILE_REQUIRED
            when 'gems.locked'
              MSG_GEMFILE_MISMATCHED
            end
  add_global_offense(format(message, file_path: file_path))
end

def register_gems_rb_offense(file_path, basename)

def register_gems_rb_offense(file_path, basename)
  message = case basename
            when 'Gemfile'
              MSG_GEMS_RB_REQUIRED
            when 'Gemfile.lock'
              MSG_GEMS_RB_MISMATCHED
            end
  add_global_offense(format(message, file_path: file_path))
end

def register_offense(file_path, basename)

def register_offense(file_path, basename)
  register_gemfile_offense(file_path, basename) if gemfile_offense?(basename)
  register_gems_rb_offense(file_path, basename) if gems_rb_offense?(basename)
end