Sha256: 4efc0e6f86f42fa11ddbce1ae5dbfa46589d7d90a93e6df712f36b5e355cfc04

Contents?: true

Size: 621 Bytes

Versions: 30

Compression:

Stored size: 621 Bytes

Contents

module CoreExtensions
  module Module
    def const_get_if_defined const
      const_get(const, false) if const_defined?(const, false)
    end

    def const_remove_if_defined const
      remove_const const if const_defined? const
    end

    def const_get_or_set const
      const_get_if_defined(const) || const_set(const, yield)
    end

    def add_set_modules list
      Array(list).each do |mod|
        include mod if mod.instance_methods.any? || mod.respond_to?(:included)
        if (class_methods = mod.const_get_if_defined(:ClassMethods))
          extend class_methods
        end
      end
    end
  end
end

Version data entries

30 entries across 30 versions & 1 rubygems

Version Path
card-1.108.1 config/initializers/01_core_extensions/module.rb
card-1.108.0 config/initializers/01_core_extensions/module.rb
card-1.107.0 config/initializers/01_core_extensions/module.rb
card-1.106.0 config/initializers/01_core_extensions/module.rb
card-1.105.6 config/initializers/01_core_extensions/module.rb
card-1.105.5 config/initializers/01_core_extensions/module.rb
card-1.105.4 config/initializers/01_core_extensions/module.rb
card-1.105.3 config/initializers/01_core_extensions/module.rb
card-1.105.2.pre1 config/initializers/01_core_extensions/module.rb
card-1.105.2 config/initializers/01_core_extensions/module.rb
card-1.105.1 config/initializers/01_core_extensions/module.rb
card-1.105.0 config/initializers/01_core_extensions/module.rb
card-1.104.2 config/initializers/01_core_extensions/module.rb
card-1.104.1 config/initializers/01_core_extensions/module.rb
card-1.104.0 config/initializers/01_core_extensions/module.rb
card-1.103.4 config/initializers/01_core_extensions/module.rb
card-1.103.3 config/initializers/01_core_extensions/module.rb
card-1.103.2 config/initializers/01_core_extensions/module.rb
card-1.103.1 config/initializers/01_core_extensions/module.rb
card-1.103.0 config/initializers/01_core_extensions/module.rb