ruby-ole 1.2.8 → 1.2.8.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
data/ChangeLog CHANGED
@@ -1,7 +1,11 @@
1
+ == 1.2.8.1 / 2008-10-22
2
+
3
+ - Fix a couple of breakages when using $KCODE = 'UTF8'
4
+
1
5
  == 1.2.8 / 2008-10-08
2
6
 
3
- - check in the new fixes to the mbat support.
4
- - update README to be a bit more useful.
7
+ - Check in the new fixes to the mbat support.
8
+ - Update README to be a bit more useful.
5
9
 
6
10
  == 1.2.7 / 2008-08-12
7
11
 
data/README CHANGED
@@ -91,6 +91,10 @@ See the documentation for each class for more details.
91
91
  'a+' modes etc. done?
92
92
  * make ranges io obey readable vs writeable modes.
93
93
  * more RangesIO completion. ie, doesn't support #<< at the moment.
94
+ * maybe some oletool doc.
95
+ * make sure `rake test' runs tests both with $KCODE='UTF8', and without,
96
+ and maybe ensure i don't regress on 1.9 and jruby either now that they're
97
+ fixed.
94
98
 
95
99
  == 1.3.1
96
100
 
@@ -99,6 +103,7 @@ See the documentation for each class for more details.
99
103
  * case insensitive mode for ole/file_system?
100
104
  * better tests for mbat support.
101
105
  * further doc cleanup
106
+ * add in place testing for jruby and ruby1.9
102
107
 
103
108
  == Longer term
104
109
 
@@ -21,7 +21,7 @@ module Ole # :nodoc:
21
21
  class FormatError < StandardError # :nodoc:
22
22
  end
23
23
 
24
- VERSION = '1.2.8'
24
+ VERSION = '1.2.8.1'
25
25
 
26
26
  # options used at creation time
27
27
  attr_reader :params
@@ -118,7 +118,7 @@ module Ole # :nodoc:
118
118
 
119
119
  # get block chain for directories, read it, then split it into chunks and load the
120
120
  # directory entries. semantics changed - used to cut at first dir where dir.type == 0
121
- @dirents = @bbat.read(@header.dirent_start).scan(/.{#{Dirent::SIZE}}/mo).
121
+ @dirents = @bbat.read(@header.dirent_start).to_enum(:each_chunk, Dirent::SIZE).
122
122
  map { |str| Dirent.new self, str }.reject { |d| d.type_id == 0 }
123
123
 
124
124
  # now reorder from flat into a tree
data/lib/ole/support.rb CHANGED
@@ -16,6 +16,10 @@ class String # :nodoc:
16
16
  # in some ways i'm surprised that $~ works properly in this case...
17
17
  to_enum(:scan, /#{Regexp.quote string}/m).map { $~.begin 0 }
18
18
  end
19
+
20
+ def each_chunk size
21
+ (length / size.to_f).ceil.times { |i| yield self[i * size, size] }
22
+ end
19
23
  end
20
24
 
21
25
  class File # :nodoc:
@@ -85,7 +85,7 @@ module Ole
85
85
 
86
86
  def each_raw
87
87
  io.seek offset + 8
88
- io.read(length * 8).scan(/.{8}/m).each { |str| yield(*str.unpack('V2')) }
88
+ io.read(length * 8).each_chunk(8) { |str| yield(*str.unpack('V2')) }
89
89
  end
90
90
 
91
91
  def read_property property_offset
@@ -119,7 +119,7 @@ module Ole
119
119
  end
120
120
 
121
121
  def load_section_list str
122
- @sections = str.scan(/.{#{Section::SIZE}}/m).map { |s| Section.new s, self }
122
+ @sections = str.to_enum(:each_chunk, Section::SIZE).map { |s| Section.new s, self }
123
123
  end
124
124
 
125
125
  def [] key
data/test/test_storage.rb CHANGED
@@ -166,7 +166,7 @@ class TestStorageRead < Test::Unit::TestCase
166
166
 
167
167
  # test the ole storage type
168
168
  type = 'Microsoft Word 6.0-Dokument'
169
- assert_equal type, (@ole.root/"\001CompObj").read[/^.{32}([^\x00]+)/m, 1]
169
+ assert_equal type, (@ole.root/"\001CompObj").read[32..-1][/([^\x00]+)/m, 1]
170
170
  # i was actually not loading data correctly before, so carefully check everything here
171
171
  assert_equal expect, @ole.root.children.map { |child| child.read }
172
172
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ruby-ole
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.2.8
4
+ version: 1.2.8.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Charles Lowe
@@ -9,7 +9,7 @@ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
11
 
12
- date: 2008-10-08 00:00:00 +11:00
12
+ date: 2008-10-22 00:00:00 +11:00
13
13
  default_executable:
14
14
  dependencies: []
15
15