Module: Puppet::ExternalFileError

Instance Attribute Summary collapse

Instance Method Summary collapse

Instance Attribute Details

#fileObject

This module implements logging with a filename and line number. Use this for errors that need to report a location in a non-ruby file that we parse.


15
16
17
# File 'lib/puppet/error.rb', line 15

def file
  @file
end

#lineObject

This module implements logging with a filename and line number. Use this for errors that need to report a location in a non-ruby file that we parse.


15
16
17
# File 'lib/puppet/error.rb', line 15

def line
  @line
end

#posObject

This module implements logging with a filename and line number. Use this for errors that need to report a location in a non-ruby file that we parse.


15
16
17
# File 'lib/puppet/error.rb', line 15

def pos
  @pos
end

Instance Method Details

#initialize(message, file = nil, line = nil, pos = nil, original = nil) ⇒ Object

May be called with 3 arguments for message, file, line, and exception, or 4 args including the position on the line.


20
21
22
23
24
25
26
27
28
29
# File 'lib/puppet/error.rb', line 20

def initialize(message, file=nil, line=nil, pos=nil, original=nil)
  if pos.kind_of? Exception
    original = pos
    pos = nil
  end
  super(message, original)
  @file = file unless (file.is_a?(String) && file.empty?)
  @line = line
  @pos = pos
end

#to_sObject


31
32
33
34
35
36
# File 'lib/puppet/error.rb', line 31

def to_s
  msg = super
  @file = nil if (@file.is_a?(String) && @file.empty?)
  msg += Puppet::Util::Errors.error_location_with_space(@file, @line, @pos)
  msg
end