Sha256: 9be6c0b1da627c511178b493a143ee4f31d15089a6041d6e769e696334fa1762
Contents?: true
Size: 1.27 KB
Versions: 25
Compression:
Stored size: 1.27 KB
Contents
require 'rom/plugin_registry' require 'rom/global/plugin_dsl' module ROM # Globally accessible public interface exposed via ROM module # # @api public module Global # Set base global registries in ROM constant # # @api private def self.extended(rom) super rom.instance_variable_set('@adapters', {}) rom.instance_variable_set('@plugin_registry', PluginRegistry.new) end # An internal adapter identifier => adapter module map used by setup # # @return [Hash<Symbol=>Module>] # # @api private attr_reader :adapters # An internal identifier => plugin map used by the setup # # @return [Hash] # # @api private attr_reader :plugin_registry # Global plugin setup DSL # # @example # ROM.plugins do # register :publisher, Plugin::Publisher, type: :command # end # # @example def plugins(*args, &block) PluginDSL.new(plugin_registry, *args, &block) end # Register adapter namespace under a specified identifier # # @param [Symbol] identifier # @param [Class,Module] adapter # # @return [self] # # @api private def register_adapter(identifier, adapter) adapters[identifier] = adapter self end end end
Version data entries
25 entries across 25 versions & 2 rubygems