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 232 def initialize severity, issue, file, source_pos, arguments={}, exception=nil 233 @severity = severity 234 @issue = issue 235 @file = file 236 @source_pos = source_pos 237 @arguments = arguments 238 # TODO: Currently unused, the intention is to provide more information (stack backtrace, etc.) when 239 # debugging or similar - this to catch internal problems reported as higher level issues. 240 @exception = exception 241 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 246 def ==(o) 247 self.class == o.class && 248 same_position?(o) && 249 issue.issue_code == o.issue.issue_code && 250 file == o.file && 251 severity == o.severity 252 end
Also aliased as: eql?
hash()
click to toggle source
# File lib/puppet/pops/validation.rb 261 def hash 262 @hash ||= [file, source_pos.offset, issue.issue_code, severity].hash 263 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 256 def same_position?(o) 257 source_pos.nil? && o.source_pos.nil? || source_pos.offset == o.source_pos.offset 258 end