A lockfile records the exact version chosen after dependency resolution.

Lockfile Versions

lockfile_versions.rb
locked_text = 
locked_version = Gem::Version.new(locked_text)
requirement = Gem::Requirement.new("~> 3.2")

compatible = requirement.satisfied_by?(locked_version)
status = compatible ? "compatible" : "review"

puts "locked=#{locked_version}"
puts "requirement=~> 3.2"
puts "status=#{status}"
locked_text = 
locked_version = Gem::Version.new(locked_text)
requirement = Gem::Requirement.new("~> 3.2")

compatible = requirement.satisfied_by?(locked_version)
status = compatible ? "compatible" : "review"

puts "locked=#{locked_version}"
puts "requirement=~> 3.2"
puts "status=#{status}"
locked_text = 
locked_version = Gem::Version.new(locked_text)
requirement = Gem::Requirement.new("~> 3.2")

compatible = requirement.satisfied_by?(locked_version)
status = compatible ? "compatible" : "review"

puts "locked=#{locked_version}"
puts "requirement=~> 3.2"
puts "status=#{status}"
lockfile version Checking a locked version against a requirement explains whether the selected version still fits.