opt
/
alt
/
ruby26
/
lib64
/
ruby
/
2.6.0
/
bundler
/
cli
/
Go to Home Directory
+
Upload
Create File
root@0UT1S:~$
Execute
By Order of Mr.0UT1S
[DIR] ..
N/A
add.rb
1.25 KB
Rename
Delete
binstubs.rb
1.65 KB
Rename
Delete
cache.rb
1.07 KB
Rename
Delete
check.rb
1.24 KB
Rename
Delete
clean.rb
606 bytes
Rename
Delete
common.rb
3.43 KB
Rename
Delete
config.rb
3.28 KB
Rename
Delete
console.rb
1.05 KB
Rename
Delete
doctor.rb
3.86 KB
Rename
Delete
exec.rb
2.97 KB
Rename
Delete
gem.rb
8.55 KB
Rename
Delete
info.rb
1.48 KB
Rename
Delete
init.rb
1.16 KB
Rename
Delete
inject.rb
2.11 KB
Rename
Delete
install.rb
8.61 KB
Rename
Delete
issue.rb
1.25 KB
Rename
Delete
list.rb
1.93 KB
Rename
Delete
lock.rb
1.77 KB
Rename
Delete
open.rb
771 bytes
Rename
Delete
outdated.rb
8.62 KB
Rename
Delete
package.rb
1.44 KB
Rename
Delete
platform.rb
1.38 KB
Rename
Delete
plugin.rb
1.03 KB
Rename
Delete
pristine.rb
1.53 KB
Rename
Delete
remove.rb
375 bytes
Rename
Delete
show.rb
2.21 KB
Rename
Delete
update.rb
3.30 KB
Rename
Delete
viz.rb
1.06 KB
Rename
Delete
# frozen_string_literal: true module Bundler class CLI::Inject attr_reader :options, :name, :version, :group, :source, :gems def initialize(options, name, version) @options = options @name = name @version = version || last_version_number @group = options[:group].split(",") unless options[:group].nil? @source = options[:source] @gems = [] end def run # The required arguments allow Thor to give useful feedback when the arguments # are incorrect. This adds those first two arguments onto the list as a whole. gems.unshift(source).unshift(group).unshift(version).unshift(name) # Build an array of Dependency objects out of the arguments deps = [] # when `inject` support addition of more than one gem, then this loop will # help. Currently this loop is running once. gems.each_slice(4) do |gem_name, gem_version, gem_group, gem_source| ops = Gem::Requirement::OPS.map {|key, _val| key } has_op = ops.any? {|op| gem_version.start_with? op } gem_version = "~> #{gem_version}" unless has_op deps << Bundler::Dependency.new(gem_name, gem_version, "group" => gem_group, "source" => gem_source) end added = Injector.inject(deps, options) if added.any? Bundler.ui.confirm "Added to Gemfile:" Bundler.ui.confirm(added.map do |d| name = "'#{d.name}'" requirement = ", '#{d.requirement}'" group = ", :group => #{d.groups.inspect}" if d.groups != Array(:default) source = ", :source => '#{d.source}'" unless d.source.nil? %(gem #{name}#{requirement}#{group}#{source}) end.join("\n")) else Bundler.ui.confirm "All gems were already present in the Gemfile" end end private def last_version_number definition = Bundler.definition(true) definition.resolve_remotely! specs = definition.index[name].sort_by(&:version) unless options[:pre] specs.delete_if {|b| b.respond_to?(:version) && b.version.prerelease? } end spec = specs.last spec.version.to_s end end end
Save