Sha256: a734e907943c9d9c0e55e40f4a94f9bc28acddd082f5b7fe33cb7fea33026636

Contents?: true

Size: 588 Bytes

Versions: 5

Compression:

Stored size: 588 Bytes

Contents

module CoreExtensions
  module Module
    RUBY_VERSION_18 = !!(RUBY_VERSION =~ /^1\.8/)

    def const_get_if_defined const
      args = RUBY_VERSION_18 ? [const] : [const, false]
      const_get(*args) if const_defined?(*args)
    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?
        if (class_methods = mod.const_get_if_defined(:ClassMethods))
          extend class_methods
        end
      end
    end
  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
card-1.19.4 config/initializers/01_core_extensions/module.rb
card-1.19.3 config/initializers/01_core_extensions/module.rb
card-1.19.2 config/initializers/01_core_extensions/module.rb
card-1.19.1 config/initializers/01_core_extensions/module.rb
card-1.19.0 config/initializers/01_core_extensions/module.rb