Exception: Utopia::Content::MarkupParser::UnbalancedTagError

Inherits:
StandardError
  • Object
show all
Defined in:
lib/utopia/content/markup.rb

Overview

The name of a closing tag fails to match up with the corresponding opening tag.

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(buffer, opening_tag, closing_tag = nil) ⇒ UnbalancedTagError

Returns a new instance of UnbalancedTagError.



58
59
60
61
62
# File 'lib/utopia/content/markup.rb', line 58

def initialize(buffer, opening_tag, closing_tag = nil)
  @buffer = buffer
  @opening_tag = opening_tag
  @closing_tag = closing_tag
end

Instance Attribute Details

#bufferObject (readonly)

Returns the value of attribute buffer.



64
65
66
# File 'lib/utopia/content/markup.rb', line 64

def buffer
  @buffer
end

#closing_tagObject (readonly)

Returns the value of attribute closing_tag.



66
67
68
# File 'lib/utopia/content/markup.rb', line 66

def closing_tag
  @closing_tag
end

#opening_tagObject (readonly)

Returns the value of attribute opening_tag.



65
66
67
# File 'lib/utopia/content/markup.rb', line 65

def opening_tag
  @opening_tag
end

Instance Method Details

#end_locationObject



72
73
74
75
76
# File 'lib/utopia/content/markup.rb', line 72

def end_location
  if closing_tag and closing_tag.respond_to? :offset
    XRB::Location.new(@buffer.read, closing_tag.offset)
  end
end

#start_locationObject



68
69
70
# File 'lib/utopia/content/markup.rb', line 68

def start_location
  XRB::Location.new(@buffer.read, opening_tag.offset)
end

#to_sObject



78
79
80
81
82
83
84
# File 'lib/utopia/content/markup.rb', line 78

def to_s
  if @closing_tag
    "#{start_location}: #{@opening_tag} was not closed!"
  else
    "#{start_location}: #{@opening_tag} was closed by #{@closing_tag}!"
  end
end