Class: Stencil::Directive::Source

Inherits:
Object
  • Object
show all
Defined in:
lib/stencil/directives/base.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(file, line, column) ⇒ Source

Returns a new instance of Source.



5
6
7
# File 'lib/stencil/directives/base.rb', line 5

def initialize(file, line, column)
  @file, @line, @column = file, line, column
end

Instance Attribute Details

#columnObject

Returns the value of attribute column.



9
10
11
# File 'lib/stencil/directives/base.rb', line 9

def column
  @column
end

#fileObject

Returns the value of attribute file.



9
10
11
# File 'lib/stencil/directives/base.rb', line 9

def file
  @file
end

#lineObject

Returns the value of attribute line.



9
10
11
# File 'lib/stencil/directives/base.rb', line 9

def line
  @line
end

Instance Method Details

#exception(based_on = nil) ⇒ Object



15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
# File 'lib/stencil/directives/base.rb', line 15

def exception(based_on=nil)
  message = case based_on
            when String
              based_on
            when ::Exception
              [based_on.class, based_on.message, based_on.backtrace.first].join(": ")
            else
              "resulting from #{based_on}.inspect"
            end
              
  re = RenderError.new(message)
  re.line = @line
  re.column = @column
  re.file = @file
  re
end

#inspectObject



11
12
13
# File 'lib/stencil/directives/base.rb', line 11

def inspect
  "#{@file}:#{@line},#{@column}"
end