class ChupaText::Decomposers::OpenDocument
Public Instance Methods
decompose(data, &block)
click to toggle source
# File lib/chupa-text/decomposers/opendocument.rb, line 38 def decompose(data, &block) unzip(data) do |zip| context = { data: data, attributes: {}, } zip.each do |entry| next unless entry.file? case entry.zip_path when "content.xml" process_content(entry, context, &block) when "meta.xml" process_meta(entry, context, &block) end end finish_decompose(context, &block) end end
target?(data)
click to toggle source
# File lib/chupa-text/decomposers/opendocument.rb, line 25 def target?(data) data.extension == @extension or data.mime_type == @mime_type end
target_score(data)
click to toggle source
# File lib/chupa-text/decomposers/opendocument.rb, line 30 def target_score(data) if target?(data) -1 else nil end end
Private Instance Methods
log_tag()
click to toggle source
# File lib/chupa-text/decomposers/opendocument.rb, line 68 def log_tag "[decomposer][opendocument]" end
parse(input, listener)
click to toggle source
# File lib/chupa-text/decomposers/opendocument.rb, line 58 def parse(input, listener) parser = SAXParser.new(input, listener) parser.parse end
process_meta(entry, context, &block)
click to toggle source
# File lib/chupa-text/decomposers/opendocument.rb, line 63 def process_meta(entry, context, &block) listener = AttributesListener.new(context[:attributes]) parse(entry.file_data, listener) end