Sha256: 104f1665675664b0817d0039712709b1e8062d23887f24488c8dbf09f875e9b4

Contents?: true

Size: 622 Bytes

Versions: 5

Compression:

Stored size: 622 Bytes

Contents

module Kernel
  unless private_method_defined?(:require_relative) # 1.9
    # Require file from same dir as calling script...
    #
    # require_local 'myscript'
    #
    # CREDIT: Paul Brannan, Pragmatic Programmers
    #
    def require_relative(relative_feature)
      c = caller.first
      fail "Can't parse #{c}" unless c.rindex(/:\d+(:in `.*')?$/)

      file = $` # File.dirname(c)
      if /\A\((.*)\)/ =~ file # eval, etc.
        raise LoadError, "require_relative is called in #{$1}"
      end

      absolute = File.expand_path(relative_feature, File.dirname(file))
      require absolute
    end
  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
iron_core-0.4.4 lib/3rdparty/facets/require_relative.rb
iron_core-0.4.3 lib/3rdparty/facets/require_relative.rb
iron_core-0.4.2 lib/3rdparty/facets/require_relative.rb
iron_core-0.4.1 lib/3rdparty/facets/require_relative.rb
iron_core-0.4.0 lib/3rdparty/facets/require_relative.rb