class 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
                            
                            
                                  Calls superclass method
                                  
                              Bundler::Dsl::new
                              # 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
                            
                            
                                  Calls superclass method
                                  
                              Bundler::Dsl#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