class Bundler::Plugin::API
Public Class Methods
command(command, cls = self)
click to toggle source
The plugins should declare that they handle a command through this helper.
@param [String] command being handled by them @param [Class] (optional) class that handles the command. If not
provided, the `self` class will be used.
# File lib/bundler/plugin/api.rb, line 33 def self.command(command, cls = self) Plugin.add_command command, cls end
hook(event, &block)
click to toggle source
# File lib/bundler/plugin/api.rb, line 48 def self.hook(event, &block) Plugin.add_hook(event, &block) end
source(source, cls = self)
click to toggle source
The plugins should declare that they provide a installation source through this helper.
@param [String] the source type they provide @param [Class] (optional) class that handles the source. If not
provided, the `self` class will be used.
# 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
Public Instance Methods
cache_dir()
click to toggle source
The cache dir to be used by the plugins for storage
@return [Pathname] path of the cache dir
# File lib/bundler/plugin/api.rb, line 55 def cache_dir Plugin.cache.join("plugins") end
method_missing(name, *args, &blk)
click to toggle source
Calls superclass method
BasicObject#method_missing
# 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
respond_to_missing?(name, include_private = false)
click to toggle source
Calls superclass method
Object#respond_to_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
tmp(*names)
click to toggle source
A tmp dir to be used by plugins Accepts names that get concatenated as suffix
@return [Pathname] object for the new directory created
# File lib/bundler/plugin/api.rb, line 63 def tmp(*names) Bundler.tmp(["plugin", *names].join("-")) end