Class: Tryouts::ParserWarning

Inherits:
Data
  • Object
show all
Defined in:
lib/tryouts/parser_warning.rb

Overview

Data structure for parser warnings

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Attribute Details

#contextObject (readonly)

Returns the value of attribute context

Returns:

  • (Object)

    the current value of context



7
8
9
# File 'lib/tryouts/parser_warning.rb', line 7

def context
  @context
end

#line_numberObject (readonly)

Returns the value of attribute line_number

Returns:

  • (Object)

    the current value of line_number



7
8
9
# File 'lib/tryouts/parser_warning.rb', line 7

def line_number
  @line_number
end

#messageObject (readonly)

Returns the value of attribute message

Returns:

  • (Object)

    the current value of message



7
8
9
# File 'lib/tryouts/parser_warning.rb', line 7

def message
  @message
end

#suggestionObject (readonly)

Returns the value of attribute suggestion

Returns:

  • (Object)

    the current value of suggestion



7
8
9
# File 'lib/tryouts/parser_warning.rb', line 7

def suggestion
  @suggestion
end

#typeObject (readonly)

Returns the value of attribute type

Returns:

  • (Object)

    the current value of type



7
8
9
# File 'lib/tryouts/parser_warning.rb', line 7

def type
  @type
end

Class Method Details

.ambiguous_test_boundary(line_number:, context:) ⇒ Object



18
19
20
21
22
23
24
25
26
# File 'lib/tryouts/parser_warning.rb', line 18

def self.ambiguous_test_boundary(line_number:, context:)
  new(
    type: :ambiguous_boundary,
    message: "Ambiguous test case boundary detected",
    line_number: line_number,
    context: context,
    suggestion: "Use explicit '## Description' to clarify test structure"
  )
end

.malformed_expectation(line_number:, syntax:, context:) ⇒ Object



28
29
30
31
32
33
34
35
36
# File 'lib/tryouts/parser_warning.rb', line 28

def self.malformed_expectation(line_number:, syntax:, context:)
  new(
    type: :malformed_expectation,
    message: "Malformed expectation syntax '#=#{syntax}>' at line #{line_number}",
    line_number: line_number,
    context: context,
    suggestion: "Use valid expectation syntax like #=>, #==>, #=:>, #=!>, etc."
  )
end

.unnamed_test(line_number:, context:) ⇒ Object



8
9
10
11
12
13
14
15
16
# File 'lib/tryouts/parser_warning.rb', line 8

def self.unnamed_test(line_number:, context:)
  new(
    type: :unnamed_test,
    message: "Test case without explicit description",
    line_number: line_number,
    context: context,
    suggestion: "Add a test description using '## Description' prefix"
  )
end