X7ROOT File Manager
Current Path:
/opt/alt/ruby40/share/gems/gems/bundler-4.0.10/lib/bundler/cli
opt
/
alt
/
ruby40
/
share
/
gems
/
gems
/
bundler-4.0.10
/
lib
/
bundler
/
cli
/
??
..
??
add.rb
(2.06 KB)
??
binstubs.rb
(1.77 KB)
??
cache.rb
(711 B)
??
check.rb
(1.21 KB)
??
clean.rb
(608 B)
??
common.rb
(5.23 KB)
??
config.rb
(6.01 KB)
??
console.rb
(1.1 KB)
??
doctor
??
doctor.rb
(1.44 KB)
??
exec.rb
(3.1 KB)
??
fund.rb
(902 B)
??
gem.rb
(16.97 KB)
??
info.rb
(2.89 KB)
??
init.rb
(1.28 KB)
??
install.rb
(4.61 KB)
??
issue.rb
(1.31 KB)
??
list.rb
(2.75 KB)
??
lock.rb
(2.81 KB)
??
open.rb
(1.14 KB)
??
outdated.rb
(9.11 KB)
??
platform.rb
(1.27 KB)
??
plugin.rb
(1.83 KB)
??
pristine.rb
(2.13 KB)
??
remove.rb
(351 B)
??
show.rb
(2.11 KB)
??
update.rb
(4.16 KB)
Editing: list.rb
# frozen_string_literal: true require "json" module Bundler class CLI::List def initialize(options) @options = options @without_group = options["without-group"].map(&:to_sym) @only_group = options["only-group"].map(&:to_sym) @format = options["format"] end def run raise InvalidOption, "The `--only-group` and `--without-group` options cannot be used together" if @only_group.any? && @without_group.any? raise InvalidOption, "The `--name-only` and `--paths` options cannot be used together" if @options["name-only"] && @options[:paths] specs = if @only_group.any? || @without_group.any? filtered_specs_by_groups else begin Bundler.load.specs rescue GemNotFound => e Bundler.ui.error e.message Bundler.ui.warn "Install missing gems with `bundle install`." exit 1 end end.reject {|s| s.name == "bundler" }.sort_by(&:name) case @format when "json" print_json(specs: specs) when nil print_human(specs: specs) else raise InvalidOption, "Unknown option`--format=#{@format}`. Supported formats: `json`" end end private def print_json(specs:) gems = if @options["name-only"] specs.map {|s| { name: s.name } } else specs.map do |s| { name: s.name, version: s.version.to_s, git_version: s.git_version&.strip, }.tap do |h| h[:path] = s.full_gem_path if @options["paths"] end end end Bundler.ui.info({ gems: gems }.to_json) end def print_human(specs:) return Bundler.ui.info "No gems in the Gemfile" if specs.empty? return specs.each {|s| Bundler.ui.info s.name } if @options["name-only"] return specs.each {|s| Bundler.ui.info s.full_gem_path } if @options["paths"] Bundler.ui.info "Gems included by the bundle:" specs.each {|s| Bundler.ui.info " * #{s.name} (#{s.version}#{s.git_version})" } Bundler.ui.info "Use `bundle info` to print more detailed information about a gem" end def verify_group_exists(groups) (@without_group + @only_group).each do |group| raise InvalidOption, "`#{group}` group could not be found." unless groups.include?(group) end end def filtered_specs_by_groups definition = Bundler.definition groups = definition.groups verify_group_exists(groups) show_groups = if @without_group.any? groups.reject {|g| @without_group.include?(g) } elsif @only_group.any? groups.select {|g| @only_group.include?(g) } else groups end.map(&:to_sym) definition.specs_for(show_groups) end end end
Upload File
Create Folder