Class | Paramix::Delegator |
In: |
lib/more/facets/paramix.rb
|
Parent: | Module |
base_block | [R] | |
module_delegate | [R] | |
parameters | [R] |
# 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
# 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
# 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