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