In Files

  • bundler/plugin/dsl.rb

Class/Module Index [+]

Quicksearch
No matching classes.

Bundler::Plugin::DSL

Dsl to parse the Gemfile looking for plugins to install

Attributes

inferred_plugins[R]

This lists the plugins that was added automatically and not specified by the user.

When we encounter :type attribute with a source block, we add a plugin by name bundler-source-<type> to list of plugins to be installed.

These plugins are optional and are not installed when there is conflict with any other plugin.

Public Class Methods

new() click to toggle source
 
 # File bundler/plugin/dsl.rb, line 25
def initialize
 super
 @sources = Plugin::SourceList.new
 @inferred_plugins = [] # The source plugins inferred from :type
end
 

Public Instance Methods

method_missing(name, *args) click to toggle source
 
 # File bundler/plugin/dsl.rb, line 35
def method_missing(name, *args)
 raise PluginGemfileError, "Undefined local variable or method `#{name}' for Gemfile" unless Bundler::Dsl.method_defined? name
end
 
plugin(name, *args) click to toggle source
 
 # File bundler/plugin/dsl.rb, line 31
def plugin(name, *args)
 _gem(name, *args)
end
 
source(source, *args, &blk) click to toggle source
 
 # File bundler/plugin/dsl.rb, line 39
def source(source, *args, &blk)
 options = args.last.is_a?(Hash) ? args.pop.dup : {}
 options = normalize_hash(options)
 return super unless options.key?("type")
 plugin_name = "bundler-source-#{options["type"]}"
 return if @dependencies.any? {|d| d.name == plugin_name }
 plugin(plugin_name)
 @inferred_plugins << plugin_name
end
 

AltStyle によって変換されたページ (->オリジナル) /