Exception: Herb::Engine::SecurityError

Inherits:
StandardError
  • Object
show all
Defined in:
lib/herb/engine/validation_errors.rb,
sig/herb/engine/validation_errors.rbs

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(message, line: nil, column: nil, filename: nil, suggestion: nil) ⇒ SecurityError

Returns a new instance of SecurityError.

Parameters:

  • message (Object)
  • line: (Object) (defaults to: nil)
  • column: (Object) (defaults to: nil)
  • filename: (Object) (defaults to: nil)
  • suggestion: (Object) (defaults to: nil)


11
12
13
14
15
16
17
18
# File 'lib/herb/engine/validation_errors.rb', line 11

def initialize(message, line: nil, column: nil, filename: nil, suggestion: nil)
  @line = line
  @column = column
  @filename = filename
  @suggestion = suggestion

  super(build_error_message(message))
end

Instance Attribute Details

#columnObject (readonly)

Returns the value of attribute column.

Returns:

  • (Object)


9
10
11
# File 'lib/herb/engine/validation_errors.rb', line 9

def column
  @column
end

#filenameObject (readonly)

Returns the value of attribute filename.

Returns:

  • (Object)


9
10
11
# File 'lib/herb/engine/validation_errors.rb', line 9

def filename
  @filename
end

#lineObject (readonly)

Returns the value of attribute line.

Returns:

  • (Object)


9
10
11
# File 'lib/herb/engine/validation_errors.rb', line 9

def line
  @line
end

#suggestionObject (readonly)

Returns the value of attribute suggestion.

Returns:

  • (Object)


9
10
11
# File 'lib/herb/engine/validation_errors.rb', line 9

def suggestion
  @suggestion
end

Instance Method Details

#build_error_message(message) ⇒ Object

Parameters:

  • message (Object)

Returns:

  • (Object)


22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
# File 'lib/herb/engine/validation_errors.rb', line 22

def build_error_message(message)
  parts = [] #: Array[String]

  if @filename || (@line && @column)
    location_parts = [] #: Array[String]

    location_parts << @filename if @filename
    location_parts << "#{@line}:#{@column}" if @line && @column

    parts << location_parts.join(":")
  end

  parts << message

  parts << "Suggestion: #{@suggestion}" if @suggestion

  parts.join(" - ")
end