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.



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

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.



79
80
81
# File 'lib/utopia/content/markup.rb', line 79

def buffer
  @buffer
end

#closing_tagObject (readonly)

Returns the value of attribute closing_tag.



81
82
83
# File 'lib/utopia/content/markup.rb', line 81

def closing_tag
  @closing_tag
end

#opening_tagObject (readonly)

Returns the value of attribute opening_tag.



80
81
82
# File 'lib/utopia/content/markup.rb', line 80

def opening_tag
  @opening_tag
end

Instance Method Details

#end_locationObject



87
88
89
90
91
# File 'lib/utopia/content/markup.rb', line 87

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

#start_locationObject



83
84
85
# File 'lib/utopia/content/markup.rb', line 83

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

#to_sObject



93
94
95
96
97
98
99
# File 'lib/utopia/content/markup.rb', line 93

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