class Bundler::Plugin::API

公共类方法

command(command, cls = self) 点击切换源代码

插件应通过此助手声明它们处理一个命令。

@param [String] 由它们处理的命令 @param [Class] (可选) 处理该命令的类。如果未

provided, the `self` class will be used.
# File bundler/plugin/api.rb, line 33
def self.command(command, cls = self)
  Plugin.add_command command, cls
end
hook(event, &block) 点击切换源代码
# File bundler/plugin/api.rb, line 48
def self.hook(event, &block)
  Plugin.add_hook(event, &block)
end
source(source, cls = self) 点击切换源代码

插件应通过此助手声明它们提供安装源。

@param [String] 它们提供的源类型 @param [Class] (可选) 处理该源的类。如果未

provided, the `self` class will be used.
# File 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

公共实例方法

cache_dir() 点击切换源代码

插件用于存储的缓存目录

@return [Pathname] 缓存目录的路径

# File bundler/plugin/api.rb, line 55
def cache_dir
  Plugin.cache.join("plugins")
end
method_missing(name, *args, &blk) 点击切换源代码
调用父类方法
# File 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
respond_to_missing?(name, include_private = false) 点击切换源代码
调用父类方法
# File 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
tmp(*names) 点击切换源代码

插件使用的临时目录。接受连接为后缀的名称

@return [Pathname] 新创建的目录的对象

# File bundler/plugin/api.rb, line 63
def tmp(*names)
  Bundler.tmp(["plugin", *names].join("-"))
end