class ChupaText::Decomposers::OpenDocumentPresentation::SlidesListener

Constants

DRAW_URI
TEXT_URI

Public Class Methods

new(slides) click to toggle source
# File lib/chupa-text/decomposers/opendocument-presentation.rb, line 60
def initialize(slides)
  @slides = slides
  @in_p = false
end

Public Instance Methods

cdata(content) click to toggle source
# File lib/chupa-text/decomposers/opendocument-presentation.rb, line 95
def cdata(content)
  add_text(content)
end
characters(text) click to toggle source
# File lib/chupa-text/decomposers/opendocument-presentation.rb, line 91
def characters(text)
  add_text(text)
end
end_element(uri, local_name, qname) click to toggle source
# File lib/chupa-text/decomposers/opendocument-presentation.rb, line 80
def end_element(uri, local_name, qname)
  @in_p = false
  case uri
  when TEXT_URI
    case local_name
    when "p"
      @slides.last[:text] << "\n"
    end
  end
end
start_element(uri, local_name, qname, attributes) click to toggle source
# File lib/chupa-text/decomposers/opendocument-presentation.rb, line 65
def start_element(uri, local_name, qname, attributes)
  case uri
  when TEXT_URI
    case local_name
    when "p"
      @in_p = true
    end
  when DRAW_URI
    case local_name
    when "page"
      @slides << {text: ""}
    end
  end
end

Private Instance Methods

add_text(text) click to toggle source
# File lib/chupa-text/decomposers/opendocument-presentation.rb, line 100
def add_text(text)
  return unless @in_p
  @slides.last[:text] << text
end