class RBS::CLI
def run_vendor(args, options)
def run_vendor(args, options) clean = false vendor_dir = Pathname("vendor/sigs") OptionParser.new do |opts| opts.banner = <<-EOB e: rbs vendor [options...] [gems...] or signatures in the project directory. command ignores the RBS loading global options, `-r` and `-I`. ples: rbs vendor rbs vendor --vendor-dir=sig rbs vendor --no-stdlib ons: EOB opts.on("--[no-]clean", "Clean vendor directory (default: no)") do |v| clean = v end opts.on("--vendor-dir [DIR]", "Specify the directory for vendored signatures (default: vendor/sigs)") do |path| vendor_dir = Pathname(path) end end.parse!(args) stdout.puts "Vendoring signatures to #{vendor_dir}..." loader = options.loader() args.each do |gem| name, version = gem.split(/:/, 2) next unless name stdout.puts " Loading library: #{name}, version=#{version}..." loader.add(library: name, version: version) end vendorer = Vendorer.new(vendor_dir: vendor_dir, loader: loader) if clean stdout.puts " Deleting #{vendor_dir}..." vendorer.clean! end stdout.puts " Copying RBS files..." vendorer.copy! end