Sha256: 644271968ffe31e9c651ca6a619f8d237d70408bb3b838333c0dab3e62143718

Contents?: true

Size: 593 Bytes

Versions: 4

Compression:

Stored size: 593 Bytes

Contents

module ROM
  # Plugin is a simple object used to store plugin configurations
  #
  # @private
  class Plugin
    # @return [Module] a module representing the plugin
    #
    # @api private
    attr_reader :mod

    # @return [Hash] configuration options
    #
    # @api private
    attr_reader :options

    # @api private
    def initialize(mod, options)
      @mod      = mod
      @options  = options
    end

    # Apply this plugin to the provided class
    #
    # @param klass [Class]
    #
    # @api private
    def apply_to(klass)
      klass.send(:include, mod)
    end
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
rom-0.8.1 lib/rom/plugin.rb
rom-0.8.0 lib/rom/plugin.rb
rom-0.7.1 lib/rom/plugin.rb
rom-0.7.0 lib/rom/plugin.rb