Class: Browsable::Finding
- Inherits:
-
Data
- Object
- Data
- Browsable::Finding
- Defined in:
- lib/browsable/finding.rb
Overview
A single feature-usage event discovered in the project’s frontend code.
A Finding records what feature was used, where, which browser versions it requires, and how that compares against the project’s declared target. It is an immutable value object — analyzers produce them, formatters and the LSP server consume them.
Instance Attribute Summary collapse
-
#column ⇒ Object
readonly
Returns the value of attribute column.
-
#feature_id ⇒ Object
readonly
Returns the value of attribute feature_id.
-
#feature_name ⇒ Object
readonly
Returns the value of attribute feature_name.
-
#file ⇒ Object
readonly
Returns the value of attribute file.
-
#line ⇒ Object
readonly
Returns the value of attribute line.
-
#message ⇒ Object
readonly
Returns the value of attribute message.
-
#required_browser_versions ⇒ Object
readonly
Returns the value of attribute required_browser_versions.
-
#severity ⇒ Object
readonly
Returns the value of attribute severity.
-
#target_browser_versions ⇒ Object
readonly
Returns the value of attribute target_browser_versions.
Instance Method Summary collapse
-
#as_json ⇒ Object
A stable, JSON-friendly hash.
- #error? ⇒ Boolean
- #info? ⇒ Boolean
- #warning? ⇒ Boolean
Instance Attribute Details
#column ⇒ Object (readonly)
Returns the value of attribute column
10 11 12 |
# File 'lib/browsable/finding.rb', line 10 def column @column end |
#feature_id ⇒ Object (readonly)
Returns the value of attribute feature_id
10 11 12 |
# File 'lib/browsable/finding.rb', line 10 def feature_id @feature_id end |
#feature_name ⇒ Object (readonly)
Returns the value of attribute feature_name
10 11 12 |
# File 'lib/browsable/finding.rb', line 10 def feature_name @feature_name end |
#file ⇒ Object (readonly)
Returns the value of attribute file
10 11 12 |
# File 'lib/browsable/finding.rb', line 10 def file @file end |
#line ⇒ Object (readonly)
Returns the value of attribute line
10 11 12 |
# File 'lib/browsable/finding.rb', line 10 def line @line end |
#message ⇒ Object (readonly)
Returns the value of attribute message
10 11 12 |
# File 'lib/browsable/finding.rb', line 10 def @message end |
#required_browser_versions ⇒ Object (readonly)
Returns the value of attribute required_browser_versions
10 11 12 |
# File 'lib/browsable/finding.rb', line 10 def required_browser_versions @required_browser_versions end |
#severity ⇒ Object (readonly)
Returns the value of attribute severity
10 11 12 |
# File 'lib/browsable/finding.rb', line 10 def severity @severity end |
#target_browser_versions ⇒ Object (readonly)
Returns the value of attribute target_browser_versions
10 11 12 |
# File 'lib/browsable/finding.rb', line 10 def target_browser_versions @target_browser_versions end |
Instance Method Details
#as_json ⇒ Object
A stable, JSON-friendly hash. This is the wire format the JSON formatter and the LSP server both rely on.
27 28 29 30 31 32 33 34 35 36 37 38 39 |
# File 'lib/browsable/finding.rb', line 27 def as_json { feature_id: feature_id, feature_name: feature_name, file: file, line: line, column: column, required_browser_versions: required_browser_versions, target_browser_versions: target_browser_versions, severity: severity.to_s, message: } end |
#error? ⇒ Boolean
21 |
# File 'lib/browsable/finding.rb', line 21 def error? = severity == :error |
#info? ⇒ Boolean
23 |
# File 'lib/browsable/finding.rb', line 23 def info? = severity == :info |
#warning? ⇒ Boolean
22 |
# File 'lib/browsable/finding.rb', line 22 def warning? = severity == :warning |