spreadsheet 0.6.5.8 → 0.6.5.9

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.
@@ -1,3 +1,10 @@
1
+ === 0.6.5.9 / 7.9.2011
2
+
3
+ * Fixed a frozen string bug thanks to dblock (Daniel Doubrovkine),
4
+ * dblock@dblock.org
5
+
6
+ * https://github.com/dblock/spreadsheet/commit/164dcfbb24097728f1a7453702c270107e725b7c
7
+
1
8
  === 0.6.5.8 / 30.8.2011
2
9
 
3
10
  * This patch is about adding a sheet_count method to workbook so that it returns
@@ -52,6 +52,7 @@ test/data/test_version_excel5.xls
52
52
  test/data/test_version_excel95.xls
53
53
  test/data/test_version_excel97.xls
54
54
  test/excel/row.rb
55
+ test/excel/writer/workbook.rb
55
56
  test/excel/writer/worksheet.rb
56
57
  test/font.rb
57
58
  test/integration.rb
@@ -42,7 +42,7 @@ module Spreadsheet
42
42
 
43
43
  ##
44
44
  # The version of Spreadsheet you are using.
45
- VERSION = '0.6.5.8'
45
+ VERSION = '0.6.5.9'
46
46
 
47
47
  ##
48
48
  # Default client Encoding. Change this value if your application uses a
@@ -1,17 +1,25 @@
1
+ #!/usr/bin/env ruby
2
+ # encoding: utf-8
3
+ # Spreadsheet::Encoding -- spreadheet -- 07.09.2011 -- mhatakeyama@ywesee.com
4
+ # Spreadsheet::Encoding -- spreadheet -- 03.07.2009 -- hwyss@ywesee.com
5
+
1
6
  module Spreadsheet
2
7
  ##
3
8
  # Methods for Encoding-conversions. You should not need to use any of these.
4
9
  module Encodings
5
10
  if RUBY_VERSION >= '1.9'
6
11
  def client string, internal='UTF-16LE'
12
+ string = string.dup
7
13
  string.force_encoding internal
8
14
  string.encode Spreadsheet.client_encoding
9
15
  end
10
16
  def internal string, client=Spreadsheet.client_encoding
17
+ string = string.dup
11
18
  string.force_encoding client
12
19
  string.encode('UTF-16LE').force_encoding('ASCII-8BIT')
13
20
  end
14
21
  def utf8 string, client=Spreadsheet.client_encoding
22
+ string = string.dup
15
23
  string.force_encoding client
16
24
  string.encode('UTF-8')
17
25
  end
@@ -19,16 +27,19 @@ module Spreadsheet
19
27
  require 'iconv'
20
28
  @@iconvs = {}
21
29
  def client string, internal='UTF-16LE'
30
+ string = string.dup
22
31
  key = [Spreadsheet.client_encoding, internal]
23
32
  iconv = @@iconvs[key] ||= Iconv.new(Spreadsheet.client_encoding, internal)
24
33
  iconv.iconv string
25
34
  end
26
35
  def internal string, client=Spreadsheet.client_encoding
36
+ string = string.dup
27
37
  key = ['UTF-16LE', client]
28
38
  iconv = @@iconvs[key] ||= Iconv.new('UTF-16LE', client)
29
39
  iconv.iconv string
30
40
  end
31
41
  def utf8 string, client=Spreadsheet.client_encoding
42
+ string = string.dup
32
43
  key = ['UTF-8', client]
33
44
  iconv = @@iconvs[key] ||= Iconv.new('UTF-8', client)
34
45
  iconv.iconv string
@@ -0,0 +1,23 @@
1
+ #!/usr/bin/env ruby
2
+ # Excel::Writer::TestWorkbook -- Spreadsheet -- 20.07.2011 -- vanderhoorn@gmail.com
3
+
4
+ $: << File.expand_path('../../../lib', File.dirname(__FILE__))
5
+
6
+ require 'test/unit'
7
+ require 'spreadsheet'
8
+
9
+ module Spreadsheet
10
+ module Excel
11
+ module Writer
12
+ class TestWorkbook < Test::Unit::TestCase
13
+ def test_sanitize_worksheets
14
+ book = Spreadsheet::Excel::Workbook.new
15
+ assert_instance_of Excel::Workbook, book
16
+ assert_equal book.worksheets.size, 0
17
+ workbook_writer = Excel::Writer::Workbook.new book
18
+ assert_nothing_raised { workbook_writer.sanitize_worksheets book.worksheets }
19
+ end
20
+ end
21
+ end
22
+ end
23
+ end
@@ -1,5 +1,5 @@
1
1
  #!/usr/bin/env ruby
2
- # Excel::Writer::TestWorksheet -- Spreadsheet -- 20.07.2007 -- zdavatz@ywesee.com
2
+ # Excel::Writer::TestWorksheet -- Spreadheet -- 21.11.2007 -- hwyss@ywesee.com
3
3
 
4
4
  require 'test/unit'
5
5
  require 'spreadsheet/excel/writer/worksheet'
@@ -1,6 +1,7 @@
1
1
  #!/usr/bin/env ruby
2
2
  # encoding: utf-8
3
- # TestIntegration -- Spreadsheet -- 08.10.2007 -- hwyss@ywesee.com
3
+ # TestIntegration -- spreadheet -- 07.09.2011 -- mhatakeyama@ywesee.com
4
+ # TestIntegration -- spreadheet -- 08.10.2007 -- hwyss@ywesee.com
4
5
 
5
6
  $: << File.expand_path('../lib', File.dirname(__FILE__))
6
7
 
@@ -1294,6 +1295,17 @@ module Spreadsheet
1294
1295
  end
1295
1296
  end
1296
1297
  =end
1298
+ def test_write_frozen_string
1299
+ Spreadsheet.client_encoding = 'UTF-16LE'
1300
+ book = Spreadsheet::Workbook.new
1301
+ path = File.join @var, 'test_write_workbook.xls'
1302
+ sheet1 = book.create_worksheet
1303
+ str1 = "Frozen String.".freeze
1304
+ sheet1[0,0] = str1
1305
+ sheet1.row(0).push str1
1306
+ assert_nothing_raised do
1307
+ book.write path
1308
+ end
1309
+ end
1297
1310
  end
1298
1311
  end
1299
-
@@ -1,5 +1,5 @@
1
1
  #!/usr/bin/env ruby
2
- # TestWorksheet -- Spreadsheet -- 30.09.2008 -- hwyss@ywesee.com
2
+ # TestWorksheet -- Spreadheet -- 30.09.2008 -- hwyss@ywesee.com
3
3
 
4
4
  $: << File.expand_path('../lib', File.dirname(__FILE__))
5
5
 
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: spreadsheet
3
3
  version: !ruby/object:Gem::Version
4
- hash: 123
4
+ hash: 121
5
5
  prerelease:
6
6
  segments:
7
7
  - 0
8
8
  - 6
9
9
  - 5
10
- - 8
11
- version: 0.6.5.8
10
+ - 9
11
+ version: 0.6.5.9
12
12
  platform: ruby
13
13
  authors:
14
14
  - Masaomi Hatakeyama, Zeno R.R. Davatz
@@ -16,7 +16,7 @@ autorequire:
16
16
  bindir: bin
17
17
  cert_chain: []
18
18
 
19
- date: 2011-08-30 00:00:00 +02:00
19
+ date: 2011-09-07 00:00:00 +02:00
20
20
  default_executable:
21
21
  dependencies:
22
22
  - !ruby/object:Gem::Dependency
@@ -123,6 +123,7 @@ files:
123
123
  - test/data/test_version_excel95.xls
124
124
  - test/data/test_version_excel97.xls
125
125
  - test/excel/row.rb
126
+ - test/excel/writer/workbook.rb
126
127
  - test/excel/writer/worksheet.rb
127
128
  - test/font.rb
128
129
  - test/integration.rb