class Bundler::Plugin::API

Parent:
Object

Public Class Methods

command(command, cls = self) Show source
# 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.
hook(event, &block) Show source
# File lib/bundler/plugin/api.rb, line 48
def self.hook(event, &block)
  Plugin.add_hook(event, &block)
end
source(source, cls = self) Show source
# 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

cache_dir() Show source
# 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

method_missing(name, *args, &blk) Show source
# 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
Calls superclass method BasicObject#method_missing
respond_to_missing?(name, include_private = false) Show source
# 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
Calls superclass method Object#respond_to_missing?
tmp(*names) Show source
# 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.