sig/environment_loader.rbs in rbs-2.2.2 vs sig/environment_loader.rbs in rbs-2.3.0

- old
+ new

@@ -1,28 +1,28 @@ module RBS # EnvironmentLoader is an object to load RBS files from filesystem. - # + # # Set up your configuration through repository and `#add` method. - # + # # # Set up the repository to load library RBSs from. # repo = RBS::Repository.default # repo.add(Pathname("vendor/rbs/gem-rbs")) # repo.add(Pathname("vendor/rbs/internal-rbs")) - # + # # loader = RBS::EnvironmentLoader.new(repository: repo) - # + # # # Add libraries to load RBS files. # loader.add(library: "minitest") # loader.add(library: "rbs", version: "1.0.0") - # + # # # Add dirs to load RBS files from. # loader.add(path: Pathname("sig")) - # + # # # Load RBSs into an environment. # environment = RBS::Environment.new() # loader.load(env: environment) - # + # class EnvironmentLoader class UnknownLibraryError < StandardError attr_reader library: Library def initialize: (lib: Library) -> void @@ -42,66 +42,66 @@ attr_reader libs: Array[Library] attr_reader dirs: Array[Pathname] # The source where the RBS comes from. - # + # # `:core` means it is part of core library. # `Library` means it is from library. # `Pathname` means it is loaded from a directory. - # + # type source = :core | Library | Pathname # Accepts two optional keyword arguments. - # + # # `core_root` is the path to the directory with RBSs for core classes. # The default value is the core library included in RBS gem. (EnvironmentLoader::DEFAULT_CORE_ROOT) # Passing `nil` means it skips loading core class definitions. - # + # # `repository` is the repository for library classes. # The default value is repository only with stdlib classes. (Repository.new) - # + # def initialize: (?core_root: Pathname?, ?repository: Repository) -> void - + # Add a path or library to load RBSs from. - # + # # `path` can be a file or a directory. # All `.rbs` files from the given directory will be loaded. # Specifying a file will load the file regardless the extension of the file is. - # + # # `library` can be a name of a gem. # Specifying `nil` to `version` will load any version available. # It first tries to load RBS files from gem with specified version. # If RBS files cannot be found in the gem, it tries to load RBSs from repository. - # + # def add: (path: Pathname) -> void | (library: String, version: String?) -> void # Add repository path and libraries via rbs_collection.lock.yaml. def add_collection: (Collection::Config collection_config) -> void # This is helper function to test if RBS for a library is available or not. - # + # def has_library?: (library: String, version: String?) -> bool # Add all declarations to environment. - # + # # Raises `UnknownLibraryError` if RBS cannot be loaded from a library. - # + # # Returns an array of tuples of the declaration, path to the file, and the source. - # + # def load: (env: Environment) -> Array[[AST::Declarations::t, Pathname, source]] # Returns a pair of spec and path for a gem with RBS. # Returns nil if the gem is not installed, or the gem doesn't provide RBS. - # + # def self.gem_sig_path: (String name, String? version) -> [Gem::Specification, Pathname]? def each_decl: () { (AST::Declarations::t, Buffer, source, Pathname) -> void } -> void - + def each_dir: { (source, Pathname) -> void } -> void - + def each_file: (Pathname path, immediate: boolish, skip_hidden: boolish) { (Pathname) -> void } -> void end end