Methods
Attributes
[R] base_block
[R] module_delegate
[R] parameters
Public Class methods
new(module_delegate, parameters={}, &base_block)
# File lib/more/facets/paramix.rb, line 132
    def initialize(module_delegate, parameters={}, &base_block)
      @module_delegate = module_delegate
      @parameters      = parameters
      @base_block      = base_block
    end
Public Instance methods
[](name)
# File lib/more/facets/paramix.rb, line 174
    def [](name)
      @parameters[name]
    end
append_features(base)
# File lib/more/facets/paramix.rb, line 140
    def append_features(base)
      base.mixin_parameters[module_delegate] = parameters

      base.module_eval do 
        define_method(:mixin_parameters) do
          base.mixin_parameters
        end
        alias_method :mixin_params, :mixin_parameters
      end

      base.module_eval(&@base_block) if base_block

      base.__send__(:include, module_delegate)
    end
extend_object(base)
# File lib/more/facets/paramix.rb, line 157
    def extend_object(base)
      baseclass = (class << base; self; end)

      baseclass.mixin_parameters[module_delegate] = parameters

      baseclass.module_eval do 
        define_method(:mixin_parameters) do
          baseclass.mixin_parameters
        end
        alias_method :mixin_params, :mixin_parameters
      end

      baseclass.module_eval(&@base_block) if base_block

      base.__send__(:extend, module_delegate)
    end