Sha256: 6dab72786cc5e56bdc9e2de946934a7f7da0c2f8e9dc8f658ec954d94f3f15ba

Contents?: true

Size: 1.11 KB

Versions: 3

Compression:

Stored size: 1.11 KB

Contents

unless (RUBY_VERSION[0,3] == '1.9')

  class Module

    # Load file into module/class namespace.
    #
    #   CREDIT: Trans

    def module_load( path )
      if path =~ /^[\/~.]/
        file = File.expand_path(path)
      else
        $LOAD_PATH.each do |lp|
          file = File.join(lp,path)
          break if File.exist?(file)
          file = nil
        end
      end

      module_eval(File.read(file))
    end

    # Require file into module/class namespace.
    #
    #   CREDIT: Trans

    def module_require( path )
      if path =~ /^[\/~.]/
        file = File.expand_path(path)
      else
        $LOAD_PATH.each do |lp|
          file = File.join(lp,path)
          break if File.exist?(file)
          file += '.rb'
          break if File.exist?(file)
          file = nil
        end
      end
      @loaded ||= {}
      if @loaded.key?(file)
        false
      else
        @loaded[file] = true
        script = File.read(file)
        module_eval(script)
        true
      end
    end
  end


  class Class
    alias_method :class_load, :module_load
    alias_method :class_require, :module_require
  end

end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
facets-2.2.0 lib/core/facets/module/require.rb
facets-2.2.1 lib/core/facets/module/require.rb
facets-2.3.0 lib/core/facets/module/require.rb