Class: Proc

Inherits:
Object show all
Defined in:
lib/lucid/lang_extend.rb

Constant Summary collapse

PROC_PATTERN =
/[\d\w]+@(.+):(\d+).*>/
PWD =
Dir.pwd

Instance Method Summary collapse

Instance Method Details

#backtrace_line(name) ⇒ Object



28
29
30
# File 'lib/lucid/lang_extend.rb', line 28

def backtrace_line(name)
  "#{file_colon_line}:in `#{name}'"
end

#file_colon_lineObject



33
34
35
36
37
38
39
40
41
42
43
44
# File 'lib/lucid/lang_extend.rb', line 33

def file_colon_line
  path, line = *to_s.match(PROC_PATTERN)[1..2]
  path = File.expand_path(path)
  pwd = File.expand_path(PWD)
  pwd.force_encoding(path.encoding)
  if path.index(pwd)
    path = path[pwd.length+1..-1]
  elsif path =~ /.*\/gems\/(.*\.rb)$/
    path = $1
  end
  "#{path}:#{line}"
end

#to_comment_lineObject



24
25
26
# File 'lib/lucid/lang_extend.rb', line 24

def to_comment_line
  "# #{file_colon_line}"
end