Module: Ramaze::CoreExtensions::Object

Defined in:
lib/ramaze/snippets/object/__dir__.rb

Overview

Extensions for Object

Instance Method Summary (collapse)

Instance Method Details

- (Object) __DIR__(*args)

This is similar to +FILE+ and +LINE+, and returns a String representing the directory of the current file is. Unlike +FILE+ the path returned is absolute.

This method is convenience for the File.expand_path(File.dirname(FILE)) idiom.



17
18
19
20
21
# File 'lib/ramaze/snippets/object/__dir__.rb', line 17

def __DIR__(*args)
  filename = caller[0][/^(.*):/, 1]
  dir = File.expand_path(File.dirname(filename))
  ::File.expand_path(::File.join(dir, *args.map{|a| a.to_s}))
end