class Officedoc::Package::Raw::PartList

Constants

EntryName

Public Class Methods

new(zip_file) { |self| ... } click to toggle source
# File lib/officedoc/package/raw/parts.rb, line 34
def initialize(zip_file)
  __setobj__([])
  @zip_file = zip_file
  read_from zip_file if zip_file
  yield self if block_given?
end

Public Instance Methods

of_type( type, regexp: false, partial: false ) click to toggle source
# File lib/officedoc/package/raw/parts.rb, line 50
def of_type( type, regexp: false, partial: false )
  select do |part| 
    if regexp 
      part.type.match(type)
    elsif partial
      part.type.include?(type)
    else
      part.type == type
    end
  end
end
read_from(zip_file) click to toggle source
# File lib/officedoc/package/raw/parts.rb, line 41
def read_from(zip_file)
  zip_file.entry_read_stream( EntryName ) do |stream| 
    doc = Nokogiri::XML(stream)
    doc.css("Override[@PartName]").each do |node|
      push Officedoc::Package::Raw::Part.new @zip_file, node
    end
  end
end