X7ROOT File Manager
Current Path:
/opt/alt/ruby33/share/gems/gems/bundler-2.5.22/lib/bundler
opt
/
alt
/
ruby33
/
share
/
gems
/
gems
/
bundler-2.5.22
/
lib
/
bundler
/
ðŸ“
..
📄
build_metadata.rb
(1.22 KB)
📄
capistrano.rb
(877 B)
📄
checksum.rb
(6.94 KB)
📄
ci_detector.rb
(3.72 KB)
ðŸ“
cli
📄
cli.rb
(40.91 KB)
ðŸ“
compact_index_client
📄
compact_index_client.rb
(3.28 KB)
📄
constants.rb
(311 B)
📄
current_ruby.rb
(1.79 KB)
📄
definition.rb
(36.88 KB)
📄
dependency.rb
(3.3 KB)
📄
deployment.rb
(3.19 KB)
📄
deprecate.rb
(876 B)
📄
digest.rb
(2.16 KB)
📄
dsl.rb
(22.26 KB)
📄
endpoint_specification.rb
(4.09 KB)
📄
env.rb
(4.92 KB)
📄
environment_preserver.rb
(1.42 KB)
📄
errors.rb
(7.96 KB)
📄
feature_flag.rb
(1.79 KB)
ðŸ“
fetcher
📄
fetcher.rb
(11.5 KB)
📄
force_platform.rb
(544 B)
📄
friendly_errors.rb
(3.69 KB)
📄
gem_helper.rb
(6.88 KB)
📄
gem_helpers.rb
(4.72 KB)
📄
gem_tasks.rb
(138 B)
📄
gem_version_promoter.rb
(5.15 KB)
📄
graph.rb
(4.95 KB)
📄
index.rb
(4.85 KB)
📄
injector.rb
(10.03 KB)
📄
inline.rb
(3.1 KB)
ðŸ“
installer
📄
installer.rb
(9.97 KB)
📄
lazy_specification.rb
(5.79 KB)
📄
lockfile_generator.rb
(2.43 KB)
📄
lockfile_parser.rb
(8.63 KB)
ðŸ“
man
📄
match_metadata.rb
(390 B)
📄
match_platform.rb
(583 B)
📄
match_remote_metadata.rb
(863 B)
📄
mirror.rb
(5.77 KB)
ðŸ“
plugin
📄
plugin.rb
(11.41 KB)
📄
process_lock.rb
(686 B)
📄
remote_specification.rb
(3.78 KB)
ðŸ“
resolver
📄
resolver.rb
(18.35 KB)
📄
retry.rb
(1.59 KB)
📄
ruby_dsl.rb
(1.83 KB)
📄
ruby_version.rb
(4.68 KB)
📄
rubygems_ext.rb
(13.63 KB)
📄
rubygems_gem_installer.rb
(4.68 KB)
📄
rubygems_integration.rb
(13.61 KB)
📄
runtime.rb
(9.92 KB)
📄
safe_marshal.rb
(597 B)
📄
self_manager.rb
(6.45 KB)
ðŸ“
settings
📄
settings.rb
(15.02 KB)
📄
setup.rb
(1.36 KB)
📄
shared_helpers.rb
(11.84 KB)
📄
similarity_detector.rb
(1.84 KB)
ðŸ“
source
📄
source.rb
(3.01 KB)
📄
source_list.rb
(6.81 KB)
📄
source_map.rb
(2.17 KB)
📄
spec_set.rb
(6.94 KB)
📄
stub_specification.rb
(3.27 KB)
ðŸ“
templates
ðŸ“
ui
📄
ui.rb
(255 B)
📄
uri_credentials_filter.rb
(1.27 KB)
📄
uri_normalizer.rb
(715 B)
ðŸ“
vendor
📄
vendored_fileutils.rb
(101 B)
📄
vendored_net_http.rb
(735 B)
📄
vendored_persistent.rb
(197 B)
📄
vendored_pub_grub.rb
(99 B)
📄
vendored_securerandom.rb
(449 B)
📄
vendored_thor.rb
(180 B)
📄
vendored_timeout.rb
(209 B)
📄
vendored_tsort.rb
(93 B)
📄
vendored_uri.rb
(496 B)
📄
version.rb
(260 B)
📄
vlad.rb
(465 B)
📄
worker.rb
(2.85 KB)
📄
yaml_serializer.rb
(2.42 KB)
Editing: graph.rb
# frozen_string_literal: true require "set" module Bundler class Graph GRAPH_NAME = :Gemfile def initialize(env, output_file, show_version = false, show_requirements = false, output_format = "png", without = []) @env = env @output_file = output_file @show_version = show_version @show_requirements = show_requirements @output_format = output_format @without_groups = without.map(&:to_sym) @groups = [] @relations = Hash.new {|h, k| h[k] = Set.new } @node_options = {} @edge_options = {} _populate_relations end attr_reader :groups, :relations, :node_options, :edge_options, :output_file, :output_format def viz GraphVizClient.new(self).run end private def _populate_relations parent_dependencies = _groups.values.to_set.flatten loop do break if parent_dependencies.empty? tmp = Set.new parent_dependencies.each do |dependency| child_dependencies = spec_for_dependency(dependency).runtime_dependencies.to_set @relations[dependency.name] += child_dependencies.map(&:name).to_set tmp += child_dependencies @node_options[dependency.name] = _make_label(dependency, :node) child_dependencies.each do |c_dependency| @edge_options["#{dependency.name}_#{c_dependency.name}"] = _make_label(c_dependency, :edge) end end parent_dependencies = tmp end end def _groups relations = Hash.new {|h, k| h[k] = Set.new } @env.current_dependencies.each do |dependency| dependency.groups.each do |group| next if @without_groups.include?(group) relations[group.to_s].add(dependency) @relations[group.to_s].add(dependency.name) @node_options[group.to_s] ||= _make_label(group, :node) @edge_options["#{group}_#{dependency.name}"] = _make_label(dependency, :edge) end end @groups = relations.keys relations end def _make_label(symbol_or_string_or_dependency, element_type) case element_type.to_sym when :node if symbol_or_string_or_dependency.is_a?(Gem::Dependency) label = symbol_or_string_or_dependency.name.dup label << "\n#{spec_for_dependency(symbol_or_string_or_dependency).version}" if @show_version else label = symbol_or_string_or_dependency.to_s end when :edge label = nil if symbol_or_string_or_dependency.respond_to?(:requirements_list) && @show_requirements tmp = symbol_or_string_or_dependency.requirements_list.join(", ") label = tmp if tmp != ">= 0" end else raise ArgumentError, "2nd argument is invalid" end label.nil? ? {} : { label: label } end def spec_for_dependency(dependency) @env.requested_specs.find {|s| s.name == dependency.name } end class GraphVizClient def initialize(graph_instance) @graph_name = graph_instance.class::GRAPH_NAME @groups = graph_instance.groups @relations = graph_instance.relations @node_options = graph_instance.node_options @edge_options = graph_instance.edge_options @output_file = graph_instance.output_file @output_format = graph_instance.output_format end def g @g ||= ::GraphViz.digraph(@graph_name, concentrate: true, normalize: true, nodesep: 0.55) do |g| g.edge[:weight] = 2 g.edge[:fontname] = g.node[:fontname] = "Arial, Helvetica, SansSerif" g.edge[:fontsize] = 12 end end def run @groups.each do |group| g.add_nodes( group, { style: "filled", fillcolor: "#B9B9D5", shape: "box3d", fontsize: 16, }.merge(@node_options[group]) ) end @relations.each do |parent, children| children.each do |child| if @groups.include?(parent) g.add_nodes(child, { style: "filled", fillcolor: "#B9B9D5" }.merge(@node_options[child])) g.add_edges(parent, child, { constraint: false }.merge(@edge_options["#{parent}_#{child}"])) else g.add_nodes(child, @node_options[child]) g.add_edges(parent, child, @edge_options["#{parent}_#{child}"]) end end end if @output_format.to_s == "debug" $stdout.puts g.output none: String Bundler.ui.info "debugging bundle viz..." else begin g.output @output_format.to_sym => "#{@output_file}.#{@output_format}" Bundler.ui.info "#{@output_file}.#{@output_format}" rescue ArgumentError => e warn "Unsupported output format. See Ruby-Graphviz/lib/graphviz/constants.rb" raise e end end end end end end
Upload File
Create Folder