Sha256: 9baed3385e0038790f5fa0dce70a19c56f3152a0b77a456fc33acf995a3e00b2

Contents?: true

Size: 1.05 KB

Versions: 38

Compression:

Stored size: 1.05 KB

Contents

module BibTeX

	class BibTeXError < StandardError	
		attr_reader :orginal
		
		def initialize(message = nil, original = $!)
			super(message)
			@original = original
		end
	end
	
  class ParseError < BibTeXError; end
  class ArgumentError < BibTeXError; end

  #
  # Represents a lexical or syntactical error.
  #
  class Error < Element
    
    attr_reader :trace
    
    def initialize(trace=[])
      @trace = trace
    end
  
    def trace=(trace)
      raise(ArgumentError, "BibTeX::Error trace must be of type Array; was: #{trace.class.name}.") unless trace.kind_of?(Array)
      @trace = trace
    end
    
    def content
      @trace.map { |e| e[1] }.join
    end
    
    # Called when the element was added to a bibliography.
    def added_to_bibliography(bibliography)
      super(bibliography)
      bibliography.errors << self
      self
    end
    
    # Called when the element was removed from a bibliography.
    def removed_from_bibliography(bibliography)
      super(bibliography)
      bibliography.errors.delete(self)
      self
    end
  end
end

Version data entries

38 entries across 38 versions & 1 rubygems

Version Path
bibtex-ruby-4.0.4 lib/bibtex/error.rb
bibtex-ruby-4.0.3 lib/bibtex/error.rb
bibtex-ruby-4.0.2 lib/bibtex/error.rb
bibtex-ruby-4.0.1 lib/bibtex/error.rb
bibtex-ruby-4.0.0 lib/bibtex/error.rb
bibtex-ruby-3.1.6 lib/bibtex/error.rb
bibtex-ruby-3.1.5 lib/bibtex/error.rb
bibtex-ruby-3.1.4 lib/bibtex/error.rb
bibtex-ruby-3.1.3 lib/bibtex/error.rb
bibtex-ruby-3.1.2 lib/bibtex/error.rb
bibtex-ruby-3.1.1 lib/bibtex/error.rb
bibtex-ruby-3.1.0 lib/bibtex/error.rb
bibtex-ruby-3.0.1 lib/bibtex/error.rb
bibtex-ruby-3.0.0 lib/bibtex/error.rb
bibtex-ruby-2.3.4 lib/bibtex/error.rb
bibtex-ruby-2.3.3 lib/bibtex/error.rb
bibtex-ruby-2.3.2 lib/bibtex/error.rb
bibtex-ruby-2.3.1 lib/bibtex/error.rb
bibtex-ruby-2.3.0 lib/bibtex/error.rb
bibtex-ruby-2.2.2 lib/bibtex/error.rb