class Xlsxrb::Ooxml::Cfb::Reader
Reads streams from a Compound File Binary buffer.
Attributes
entries
[R]
untyped
Public Class Methods
(untyped data) → untyped
Source
# File lib/xlsxrb/ooxml/cfb.rb, line 63 def self.cfb?(data) case data when String data.b.start_with?(MAGIC) else false end end
(untyped data) → untyped
Source
# File lib/xlsxrb/ooxml/cfb.rb, line 72 def initialize(data) @data = data.b raise Xlsxrb::Error, "Invalid CFB file header signature" unless Reader.cfb?(@data) parse_header build_fat parse_directory load_mini_stream end
Public Instance Methods
(untyped name) → untyped
Source
# File lib/xlsxrb/ooxml/cfb.rb, line 86 def read_stream(name) entry = @entries.find { |e| e.name.casecmp?(name) && e.stream? } return nil unless entry if entry.size < @mini_cutoff && @mini_stream && !@minifat.empty? read_mini_stream_data(entry.start_sector, entry.size) else read_regular_stream_data(entry.start_sector, entry.size) end end
() → untyped
Source
# File lib/xlsxrb/ooxml/cfb.rb, line 82 def stream_names @entries.select(&:stream?).map(&:name) end