class Puppet::Pops::Validation::Diagnostic
Attributes
arguments[R]
exception[R]
file[R]
issue[R]
severity[R]
source_pos[R]
Public Class Methods
new(severity, issue, file, source_pos, arguments={})
click to toggle source
# File lib/puppet/pops/validation.rb 231 def initialize severity, issue, file, source_pos, arguments={}, exception=nil 232 @severity = severity 233 @issue = issue 234 @file = file 235 @source_pos = source_pos 236 @arguments = arguments 237 # TODO: Currently unused, the intention is to provide more information (stack backtrace, etc.) when 238 # debugging or similar - this to catch internal problems reported as higher level issues. 239 @exception = exception 240 end
Public Instance Methods
==(o)
click to toggle source
Two diagnostics are considered equal if the have the same issue, location and severity (arguments and exception are ignored)
# File lib/puppet/pops/validation.rb 245 def ==(o) 246 self.class == o.class && 247 same_position?(o) && 248 issue.issue_code == o.issue.issue_code && 249 file == o.file && 250 severity == o.severity 251 end
Also aliased as: eql?
hash()
click to toggle source
# File lib/puppet/pops/validation.rb 260 def hash 261 @hash ||= [file, source_pos.offset, issue.issue_code, severity].hash 262 end
Private Instance Methods
same_position?(o)
click to toggle source
Position is equal if the diagnostic is not located or if referring to the same offset
# File lib/puppet/pops/validation.rb 255 def same_position?(o) 256 source_pos.nil? && o.source_pos.nil? || source_pos.offset == o.source_pos.offset 257 end