Sha256: f9be90bda8848ee9c3fdb89d15253246b4c45094c732ede66277e64b5c32bc0a

Contents?: true

Size: 848 Bytes

Versions: 9

Compression:

Stored size: 848 Bytes

Contents

# frozen_string_literal: true

require 'active_support/concern'
require 'eac_ruby_utils/common_concern/class_setup'
require 'eac_ruby_utils/simple_cache'
require 'eac_ruby_utils/patches/object/if_present'

module EacRubyUtils
  class CommonConcern
    class ModuleSetup
      include ::EacRubyUtils::SimpleCache
      attr_reader :a_module, :common_concern

      def initialize(common_concern, a_module)
        @common_concern = common_concern
        @a_module = a_module
      end

      def run
        setup = self
        a_module.extend(::ActiveSupport::Concern)
        a_module.included do
          ::EacRubyUtils::CommonConcern::ClassSetup.new(setup, self, :include).run
        end
        a_module.prepended do
          ::EacRubyUtils::CommonConcern::ClassSetup.new(setup, self, :prepend).run
        end
      end
    end
  end
end

Version data entries

9 entries across 9 versions & 3 rubygems

Version Path
ehbrs-tools-0.16.5 vendor/eac_ruby_utils/lib/eac_ruby_utils/common_concern/module_setup.rb
avm-tools-0.84.0 vendor/eac_ruby_utils/lib/eac_ruby_utils/common_concern/module_setup.rb
eac_ruby_utils-0.56.0 lib/eac_ruby_utils/common_concern/module_setup.rb
avm-tools-0.83.0 vendor/eac_ruby_utils/lib/eac_ruby_utils/common_concern/module_setup.rb
ehbrs-tools-0.16.4 vendor/eac_ruby_utils/lib/eac_ruby_utils/common_concern/module_setup.rb
avm-tools-0.82.1 vendor/eac_ruby_utils/lib/eac_ruby_utils/common_concern/module_setup.rb
avm-tools-0.82.0 vendor/eac_ruby_utils/lib/eac_ruby_utils/common_concern/module_setup.rb
avm-tools-0.81.0 vendor/eac_ruby_utils/lib/eac_ruby_utils/common_concern/module_setup.rb
ehbrs-tools-0.16.3 vendor/eac_ruby_utils/lib/eac_ruby_utils/common_concern/module_setup.rb