class RBS::CLI::LibraryOptions - rbs: Ruby Standard Library Documentation

# class RBS::CLI::LibraryOptions

### Attributes

config_path[RW]
core_root[RW]
dirs[R]
libs[R]
repos[R]

### Public Class Methods

new() click to toggle source

    # File rbs-3.8.0/lib/rbs/cli.rb, line 21
    def initialize()
      @core_root = EnvironmentLoader::DEFAULT_CORE_ROOT
      @repos = []

      @libs = []
      @dirs = []
      @config_path = Collection::Config.find_config_path || Collection::Config::PATH
    end

### Public Instance Methods

loader() click to toggle source

    # File rbs-3.8.0/lib/rbs/cli.rb, line 30
    def loader
      repository = Repository.new(no_stdlib: core_root.nil?)
      repos.each do |repo|
        repository.add(Pathname(repo))
      end

      loader = EnvironmentLoader.new(core_root: core_root, repository: repository)
      if config_path
        lock_path = Collection::Config.to_lockfile_path(config_path)
        if lock_path.file?
          lock = Collection::Config::Lockfile.from_lockfile(lockfile_path: lock_path, data: YAML.load_file(lock_path.to_s))
        end
      end
      loader.add_collection(lock) if lock

      dirs.each do |dir|
        loader.add(path: Pathname(dir))
      end

      libs.each do |lib|
        name, version = lib.split(/:/, 2)
        next unless name
        loader.add(library: name, version: version)
      end

      loader
    end

setup_library_options(opts) click to toggle source

    # File rbs-3.8.0/lib/rbs/cli.rb, line 58
    def setup_library_options(opts)
      opts.on("-r LIBRARY", "Load RBS files of the library") do |lib|
        libs << lib
      end

      opts.on("-I DIR", "Load RBS files from the directory") do |dir|
        dirs << dir
      end

      opts.on("--no-stdlib", "Skip loading standard library signatures") do
        self.core_root = nil
      end

      opts.on('--collection PATH', "File path of collection configuration (default: #{@config_path})") do |path|
        self.config_path = Pathname(path).expand_path
      end

      opts.on('--no-collection', 'Ignore collection configuration') do
        self.config_path = nil
      end

      opts.on("--repo DIR", "Add RBS repository") do |dir|
        repos << dir
      end

      opts
    end