Class: RBS::CLI::LibraryOptions
Relationships & Source Files | |
Inherits: | Object |
Defined in: | lib/rbs/cli.rb |
Class Method Summary
- .new ⇒ LibraryOptions constructor
Instance Attribute Summary
- #core_root rw
- #dirs readonly
- #libs readonly
- #repos readonly
Instance Method Summary
Constructor Details
.new ⇒ LibraryOptions
# File 'lib/rbs/cli.rb', line 13
def initialize() @core_root = EnvironmentLoader::DEFAULT_CORE_ROOT @repos = [] @libs = [] @dirs = [] end
Instance Attribute Details
#core_root (rw)
[ GitHub ]# File 'lib/rbs/cli.rb', line 8
attr_accessor :core_root
#dirs (readonly)
[ GitHub ]# File 'lib/rbs/cli.rb', line 11
attr_reader :dirs
#libs (readonly)
[ GitHub ]# File 'lib/rbs/cli.rb', line 10
attr_reader :libs
#repos (readonly)
[ GitHub ]# File 'lib/rbs/cli.rb', line 9
attr_reader :repos
Instance Method Details
#loader
[ GitHub ]# File 'lib/rbs/cli.rb', line 21
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) 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)
[ GitHub ]# File 'lib/rbs/cli.rb', line 42
def (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("--repo DIR", "Add RBS repository") do |dir| repos << dir end opts end