class Dry::Plugins::Host::Builder
Extends a host with plug-ins interfaces
Attributes
registry_method[R]
@return [Symbol]
Public Class Methods
new(registry_method: Plugins.config.registry_method)
click to toggle source
# File lib/dry/plugins/host/builder.rb, line 11 def initialize(registry_method: Plugins.config.registry_method) @registry_method = registry_method end
Public Instance Methods
call(host, registry)
click to toggle source
@param host [Module]
@return [Module]
@example
require 'dry/plugins/module_builder' class Host end module_builder = Dry::Plugins::HostExtender.new module_builder.call(Host) #=> Host::Plugins
# File lib/dry/plugins/host/builder.rb, line 30 def call(host, registry) unless host.respond_to? registry_method host.define_singleton_method registry_method do registry end end unless host.singleton_class.included_modules.include? Host::DSL host.extend Host::DSL end host end