Sha256: 814ccfcdecddfdac1d1368c67d505665eb6035f55b80f43d18b0d9dc3a898c81

Contents?: true

Size: 819 Bytes

Versions: 160

Compression:

Stored size: 819 Bytes

Contents

# frozen_string_literal: true

require 'eac_ruby_utils/common_constructor/instance_initialize'
require 'eac_ruby_utils/common_constructor/super_args'

module EacRubyUtils
  class CommonConstructor
    class ClassInitialize
      attr_reader :common_constructor, :klass

      def initialize(common_constructor, klass)
        @common_constructor = common_constructor
        @klass = klass
      end

      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
    end
  end
end

Version data entries

160 entries across 160 versions & 4 rubygems

Version Path
avm-tools-0.92.0 vendor/eac_ruby_utils/lib/eac_ruby_utils/common_constructor/class_initialize.rb
avm-tools-0.91.0 vendor/eac_ruby_utils/lib/eac_ruby_utils/common_constructor/class_initialize.rb
avm-tools-0.90.0 vendor/eac_ruby_utils/lib/eac_ruby_utils/common_constructor/class_initialize.rb
avm-tools-0.89.0 vendor/eac_ruby_utils/lib/eac_ruby_utils/common_constructor/class_initialize.rb
eac_ruby_utils-0.58.1 lib/eac_ruby_utils/common_constructor/class_initialize.rb
avm-tools-0.88.0 vendor/eac_ruby_utils/lib/eac_ruby_utils/common_constructor/class_initialize.rb
avm-tools-0.87.1 vendor/eac_ruby_utils/lib/eac_ruby_utils/common_constructor/class_initialize.rb
ehbrs-tools-0.19.0 vendor/eac_ruby_utils/lib/eac_ruby_utils/common_constructor/class_initialize.rb
eac_ruby_utils-0.58.0 lib/eac_ruby_utils/common_constructor/class_initialize.rb
ehbrs-tools-0.18.0 vendor/eac_ruby_utils/lib/eac_ruby_utils/common_constructor/class_initialize.rb
eac_ruby_utils-0.57.2 lib/eac_ruby_utils/common_constructor/class_initialize.rb
avm-tools-0.87.0 vendor/eac_ruby_utils/lib/eac_ruby_utils/common_constructor/class_initialize.rb
eac_ruby_utils-0.57.1 lib/eac_ruby_utils/common_constructor/class_initialize.rb
eac_ruby_utils-0.57.0 lib/eac_ruby_utils/common_constructor/class_initialize.rb
ehbrs-tools-0.17.0 vendor/eac_ruby_utils/lib/eac_ruby_utils/common_constructor/class_initialize.rb
avm-tools-0.86.0 vendor/eac_ruby_utils/lib/eac_ruby_utils/common_constructor/class_initialize.rb
avm-tools-0.85.1 vendor/eac_ruby_utils/lib/eac_ruby_utils/common_constructor/class_initialize.rb
eac_ruby_utils-0.56.2 lib/eac_ruby_utils/common_constructor/class_initialize.rb
avm-tools-0.85.0 vendor/eac_ruby_utils/lib/eac_ruby_utils/common_constructor/class_initialize.rb
eac_ruby_utils-0.56.1 lib/eac_ruby_utils/common_constructor/class_initialize.rb