class Bundler::Plugin::API
Публичные методы класса
# File lib/bundler/plugin/api.rb, line 33 def self.command(command, cls = self) Plugin.add_command command, cls end
Плагины должны объявлять, что они обрабатывают команду с помощью этого вспомогательного метода.
@param [String] команда, обрабатываемая ими @param [Class] (необязательно) класс, обрабатывающий команду. Если нет
provided, the `self` class will be used.
# File lib/bundler/plugin/api.rb, line 48 def self.hook(event, &block) Plugin.add_hook(event, &block) end
# File lib/bundler/plugin/api.rb, line 43 def self.source(source, cls = self) cls.send :include, Bundler::Plugin::API::Source Plugin.add_source source, cls end
Плагины должны объявлять, что они предоставляют источник установки с помощью этого вспомогательного метода.
@param [String] тип источника, который они предоставляют @param [Class] (необязательно) класс, обрабатывающий источник. Если нет
provided, the `self` class will be used.
Публичные методы экземпляра
# File lib/bundler/plugin/api.rb, line 55
def cache_dir
Plugin.cache.join("plugins")
end Каталог кэша, который должны использовать плагины для хранения данных
@return [Pathname] путь к каталогу кэша
# File lib/bundler/plugin/api.rb, line 67 def method_missing(name, *args, &blk) return Bundler.send(name, *args, &blk) if Bundler.respond_to?(name) return SharedHelpers.send(name, *args, &blk) if SharedHelpers.respond_to?(name) super end
BasicObject#method_missing # File lib/bundler/plugin/api.rb, line 75
def respond_to_missing?(name, include_private = false)
SharedHelpers.respond_to?(name, include_private) ||
Bundler.respond_to?(name, include_private) || super
end Object#respond_to_missing? # File lib/bundler/plugin/api.rb, line 63
def tmp(*names)
Bundler.tmp(["plugin", *names].join("-"))
end Временный каталог, который будут использовать плагины. Принимает имена, которые конкатенируются как суффиксы
@return [Pathname] объект для созданного нового каталога
Ruby Core © 1993–2017 Yukihiro Matsumoto
Licensed under the Ruby License.
Ruby Standard Library © contributors
Licensed under their own licenses.