Sha256: ee0e9cc025dec274ad76a02cc65b7a7d1897462b1a53366855ea0baacb32637f
Contents?: true
Size: 1.33 KB
Versions: 3
Compression:
Stored size: 1.33 KB
Contents
# -*- coding: utf-8 -*- require 'rom/plugin_registry' require 'rom/global/plugin_dsl' require 'rom/support/deprecations' 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
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
rom-2.0.2 | lib/rom/global.rb |
rom-2.0.1 | lib/rom/global.rb |
rom-2.0.0 | lib/rom/global.rb |