class Dry::Plugins::ModuleBuilder
Builds a `Module` containing all plug-ins for `host`
Attributes
plugins_module_name[R]
@return [Symbol]
Public Class Methods
new(plugins_module_name: Plugins.config.plugins_module_name)
click to toggle source
# File lib/dry/plugins/module_builder.rb, line 10 def initialize(plugins_module_name: Plugins.config.plugins_module_name) @plugins_module_name = plugins_module_name end
Public Instance Methods
call(host)
click to toggle source
@param host [Module]
@return [Module]
@example
require 'dry/plugins/module_builder' class Host end module_builder = Dry::Plugins::ModuleBuilder.new module_builder.call(Host) #=> Host::Plugins
# File lib/dry/plugins/module_builder.rb, line 29 def call(host) plugins = if host.const_defined?(plugins_module_name) host.const_get(plugins_module_name) else host.const_set(plugins_module_name, Module.new) end plugins end