Spec-Zone.ru › Ruby 2.7

class Bundler::Plugin::DSL

Parent:
Bundler::Dsl

Dsl для разбора Gemfile в поисках плагинов для установки

Атрибуты

inferred_plugins[R]

Этот список содержит плагины, которые были добавлены автоматически, а не пользователем.

Когда мы сталкиваемся с атрибутом :type со блоком кода в источнике, мы добавляем плагин с именем bundler-source-<type> в список плагинов для установки.

Эти плагины являются необязательными и не устанавливаются, если возникает конфликт с каким-либо другим плагином.

Публичные методы класса

new() Показать исходный код
# File lib/bundler/plugin/dsl.rb, line 25
def initialize
  super
  @sources = Plugin::SourceList.new
  @inferred_plugins = [] # The source plugins inferred from :type
end
Вызывает метод родительского класса Bundler::Dsl::new

Публичные методы экземпляра

method_missing(name, *args) Показать исходный код
# File lib/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) Показать исходный код
# File lib/bundler/plugin/dsl.rb, line 31
def plugin(name, *args)
  _gem(name, *args)
end
source(source, *args, &blk) Показать исходный код
# File lib/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
Вызывает метод родительского класса Bundler::Dsl#source

Ruby Core © 1993–2017 Yukihiro Matsumoto
Licensed under the Ruby License.
Ruby Standard Library © contributors
Licensed under their own licenses.

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API