Class: Wcl::Diagnostic

Inherits:
Object
  • Object
show all
Defined in:
lib/wcl/types.rb

Overview

A WCL diagnostic (error, warning, etc.).

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(severity:, message:, code: nil) ⇒ Diagnostic

Returns a new instance of Diagnostic.



69
70
71
72
73
# File 'lib/wcl/types.rb', line 69

def initialize(severity:, message:, code: nil)
  @severity = severity
  @message = message
  @code = code
end

Instance Attribute Details

#codeObject (readonly)

Returns the value of attribute code.



67
68
69
# File 'lib/wcl/types.rb', line 67

def code
  @code
end

#messageObject (readonly)

Returns the value of attribute message.



67
68
69
# File 'lib/wcl/types.rb', line 67

def message
  @message
end

#severityObject (readonly)

Returns the value of attribute severity.



67
68
69
# File 'lib/wcl/types.rb', line 67

def severity
  @severity
end

Instance Method Details

#error?Boolean

Returns:

  • (Boolean)


75
76
77
# File 'lib/wcl/types.rb', line 75

def error?
  @severity == "error"
end

#inspectObject Also known as: to_s



83
84
85
86
87
88
89
# File 'lib/wcl/types.rb', line 83

def inspect
  if @code
    "#<Wcl::Diagnostic(#{@severity}: [#{@code}] #{@message})>"
  else
    "#<Wcl::Diagnostic(#{@severity}: #{@message})>"
  end
end

#warning?Boolean

Returns:

  • (Boolean)


79
80
81
# File 'lib/wcl/types.rb', line 79

def warning?
  @severity == "warning"
end