Class: Mapi::Pst::RawPropertyStoreTable::Row
- Inherits:
-
Object
- Object
- Mapi::Pst::RawPropertyStoreTable::Row
- Includes:
- Enumerable
- Defined in:
- lib/mapi/pst.rb
Instance Method Summary collapse
-
#each ⇒ Object
iterate through the property tuples.
-
#initialize(array_parser, x) ⇒ Row
constructor
A new instance of Row.
Constructor Details
#initialize(array_parser, x) ⇒ Row
Returns a new instance of Row.
1413 1414 1415 |
# File 'lib/mapi/pst.rb', line 1413 def initialize array_parser, x @array_parser, @x = array_parser, x end |
Instance Method Details
#each ⇒ Object
iterate through the property tuples
1418 1419 1420 1421 1422 1423 1424 1425 1426 1427 1428 1429 1430 1431 1432 |
# File 'lib/mapi/pst.rb', line 1418 def each (@array_parser.index_data.length / 8).times do |i| ref_type, type, ind2_off, size, slot = @array_parser.index_data[8 * i, 8].unpack 'v3CC' # check this rescue too value = @array_parser.data3[@x + ind2_off, size] # if INDIRECT_TYPES.include? ref_type if size <= 4 value = value.unpack('V')[0] end #p ['0x%04x' % ref_type, '0x%04x' % type, (Msg::Properties::MAPITAGS['%04x' % type].first[/^.._(.*)/, 1].downcase rescue nil), # value_orig, value, (get_data_indirect(value_orig.unpack('V')[0]) rescue nil), size, ind2_off, slot] key, type, value = @array_parser.handle_indirect_values type, ref_type, value yield key, type, value end end |