On this page
class Bundler::Plugin::API
Public Class Methods
# File lib/bundler/plugin/api.rb, line 33
def self.command(command, cls = self)
Plugin.add_command command, cls
end
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 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
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.
Public Instance Methods
# File lib/bundler/plugin/api.rb, line 55
def cache_dir
Plugin.cache.join("plugins")
end
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 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
A tmp dir to be used by plugins Accepts names that get concatenated as suffix
@return [Pathname] object for the new directory created
Ruby Core © 1993–2017 Yukihiro Matsumoto
Licensed under the Ruby License.
Ruby Standard Library © contributors
Licensed under their own licenses.