Module: Bundler::Checksum
- Defined in:
- lib/bundler/checksum.rb,
lib/bundler/checksum/command.rb,
lib/bundler/checksum/version.rb
Defined Under Namespace
Modules: Command
Constant Summary collapse
- VERSION =
bundler-checksum version
'0.1.0'
Class Method Summary collapse
- .checksum_file ⇒ Object
- .checksum_for(gem_name, gem_version, gem_platform) ⇒ Object
- .checksums_from_file ⇒ Object
- .patch! ⇒ Object
Class Method Details
.checksum_file ⇒ Object
79 80 81 |
# File 'lib/bundler/checksum.rb', line 79 def checksum_file @checksum_file ||= File.join(File.dirname(Bundler.default_gemfile), 'Gemfile.checksum') end |
.checksum_for(gem_name, gem_version, gem_platform) ⇒ Object
89 90 91 92 93 94 95 96 97 |
# File 'lib/bundler/checksum.rb', line 89 def checksum_for(gem_name, gem_version, gem_platform) item = checksums_from_file.detect do |item| item[:name] == gem_name && item[:platform] == gem_platform && item[:version] == gem_version end item&.fetch(:checksum) end |
.checksums_from_file ⇒ Object
83 84 85 86 87 |
# File 'lib/bundler/checksum.rb', line 83 def checksums_from_file @checksums_from_file ||= JSON.parse(File.open(checksum_file).read, symbolize_names: true) rescue JSON::ParserError => e raise "Invalid checksum file: #{e.}" end |
.patch! ⇒ Object
99 100 101 102 103 104 105 106 |
# File 'lib/bundler/checksum.rb', line 99 def patch! return if defined?(@patched) && @patched @patched = true Bundler.ui.info "Patching bundler with bundler-checksum..." require 'bundler/rubygems_gem_installer' ::Bundler::RubyGemsGemInstaller.prepend(Bundler::Patches::RubyGemsInstallerPatch) end |