D7net
Home
Console
Upload
information
Create File
Create Folder
About
Tools
:
/
usr
/
lib
/
ruby
/
gems
/
3.0.0
/
gems
/
rbs-1.0.4
/
sig
/
Filename :
repository.rbs
back
Copy
module RBS # Set of RBS repositories. # # A repository object can handle multiple repository roots. # # repo = RBS::Repository.new() # repo.add(Pathname("vendor/rbs/gem-rbs")) # repo.add(Pathname("vendor/rbs/internal-rbs")) # repo.add(Pathname("vendor/rbs/definitely-rbs")) # # repo.lookup("minitest", "2.1.3") => Pathname or nil # # If one gem version can resolve to several directories, the last added dir wins. # class Repository class GemRBS attr_reader name: String # Array of gem dirs. # Gem dir contains directories for each version. attr_reader paths: Array[Pathname] # Hash from a version to VersionPath object. attr_reader versions(): Hash[Gem::Version, VersionPath] @versions: Hash[Gem::Version, VersionPath]? def initialize: (name: String) -> void def load!: () -> void def version_names: () -> Array[Gem::Version] def oldest_version: () -> VersionPath def latest_version: () -> VersionPath def find_best_version: (Gem::Version?) -> VersionPath # Returns true if versions is empty. def empty?: () -> bool end class VersionPath attr_reader gem: GemRBS attr_reader version: Gem::Version attr_reader path: Pathname def initialize: (gem: GemRBS, version: Gem::Version, path: Pathname) -> void end DEFAULT_STDLIB_ROOT: Pathname # Array of _root dir_s of repositories. # attr_reader dirs: Array[Pathname] attr_reader gems: Hash[String, GemRBS] # An optional keyword argument `no_stdlib` is to skip adding directory for stdlib classes. # Passing truthy value will skip loading stdlib. (You can add the stdlib root by yourself.) # def initialize: (?no_stdlib: bool) -> void # Add new _root dir_ to the repository set. # If two repository dirs have exactly same gem-version definitions, the latter overwrites the prior. # def add: (Pathname dir) -> void # Returns a directory for given `gem` name and `version`. # `version` can be `nil` for _any version_. # # If the given gem cannot be found, it returns `nil`. # def lookup: (String gem, String? version) -> Pathname? def lookup_path: (String gem, String? version) -> [GemRBS, VersionPath]? end end