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