1
0
Fork 0
mirror of https://github.com/ruby/ruby.git synced 2022-11-09 12:17:21 -05:00
ruby--ruby/lib/bundler/cli/fund.rb
2020-10-15 17:19:02 +09:00

36 lines
900 B
Ruby

# frozen_string_literal: true
module Bundler
class CLI::Fund
attr_reader :options
def initialize(options)
@options = options
end
def run
Bundler.definition.validate_runtime!
groups = Array(options[:group]).map(&:to_sym)
deps = if groups.any?
Bundler.definition.dependencies_for(groups)
else
Bundler.definition.current_dependencies
end
fund_info = deps.each_with_object([]) do |dep, arr|
spec = Bundler.definition.specs[dep.name].first
if spec.metadata.key?("funding_uri")
arr << "* #{spec.name} (#{spec.version})\n Funding: #{spec.metadata["funding_uri"]}"
end
end
if fund_info.empty?
Bundler.ui.info "None of the installed gems you directly depend on are looking for funding."
else
Bundler.ui.info fund_info.join("\n")
end
end
end
end