class EacRubyUtils::CommonConstructor::ClassInitialize

Attributes

common_constructor[R]
klass[R]

Public Class Methods

new(common_constructor, klass) click to toggle source
# File lib/eac_ruby_utils/common_constructor/class_initialize.rb, line 11
def initialize(common_constructor, klass)
  @common_constructor = common_constructor
  @klass = klass
end

Public Instance Methods

run() click to toggle source
Calls superclass method
# File lib/eac_ruby_utils/common_constructor/class_initialize.rb, line 16
def run
  class_initialize = self
  klass.send(:define_method, :initialize) do |*args|
    ::EacRubyUtils::CommonConstructor::InstanceInitialize.new(
      class_initialize.common_constructor, args, self
    ).run
    super(*::EacRubyUtils::CommonConstructor::SuperArgs.new(
      class_initialize, args, self
    ).result)
  end
end