workbook 0.4.8 → 0.4.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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: d9cf45e1ff6addbcf502334bf786df43a7c7714a
4
- data.tar.gz: 6f219b42f0c6b17f8ed9ac32c57b3032efe74f12
3
+ metadata.gz: c4b33014d1a79259654ae669373a886007f494f5
4
+ data.tar.gz: 6385dfbbe2965a2d4b59aa597ad9875040aa5226
5
5
  SHA512:
6
- metadata.gz: 8ca18e838d71e6bee71a343728f9d0e7cd5843511e7e2e13c9d5a6432e2ecad2d78dc37913d87b4744f86f4ab46e386449fbf2f9488a143329514704c1221726
7
- data.tar.gz: db7378ab0541f0f6ecdc0fa66f707f5c58e908da0086d57eac010d8b4057534ac4cb7c3d809520a6702ada150a3f88c141913b4e5bbdf9096d7e3d21db733faa
6
+ metadata.gz: e2f9ee0754579c29154b399ab4e868bc1a784b71f8cb61487606210ee3fb2b948b72d1182576071945e14574b7b99b087ef36f927d577a2add013546f280991f
7
+ data.tar.gz: 5797ba6fa5d14e6259a6a33ab45d1b228afae3eb9c99a8a2633856821978846f3e93f6e98173a085ee00bdf66b8ffff00b9f5411510f2aca981fede53ba1a3bc
@@ -1,4 +1,4 @@
1
1
  # -*- encoding : utf-8 -*-
2
2
  module Workbook
3
- VERSION = '0.4.8'
3
+ VERSION = '0.4.9'
4
4
  end
@@ -6,7 +6,7 @@ module Workbook
6
6
  module Writers
7
7
  module XlsxWriter
8
8
 
9
- # Generates an Spreadsheet (from the spreadsheet gem) in order to build an XlS
9
+ # Generates an RubyXL doc, ready for export to XLSX
10
10
  #
11
11
  # @param [Hash] options A hash with options (unused so far)
12
12
  # @return [Spreadsheet] A Spreadsheet object, ready for writing or more lower level operations
@@ -37,59 +37,18 @@ module Workbook
37
37
  book
38
38
  end
39
39
 
40
- # # Generates an Spreadsheet (from the spreadsheet gem) in order to build an XlS
41
- # #
42
- # # @param [Workbook::Format, Hash] f A Workbook::Format or hash with format-options (:font_weight, :rotation, :background_color, :number_format, :text_direction, :color, :font_family)
43
- # # @return [Spreadsheet::Format] A Spreadsheet format-object, ready for writing or more lower level operations
44
- # def format_to_xlsx_format f
45
- # xlsfmt = nil
46
- # unless f.is_a? Workbook::Format
47
- # f = Workbook::Format.new f
48
- # end
49
- # xlsfmt = f.return_raw_for Spreadsheet::Format
50
- # unless xlsfmt
51
- # xlsfmt=Spreadsheet::Format.new :weight=>f[:font_weight]
52
- # xlsfmt.rotation = f[:rotation] if f[:rotation]
53
- # xlsfmt.pattern_fg_color = html_color_to_xls_color(f[:background_color]) if html_color_to_xls_color(f[:background_color])
54
- # xlsfmt.pattern = 1 if html_color_to_xls_color(f[:background_color])
55
- # xlsfmt.number_format = strftime_to_ms_format(f[:number_format]) if f[:number_format]
56
- # xlsfmt.text_direction = f[:text_direction] if f[:text_direction]
57
- # xlsfmt.font.name = f[:font_family].split.first if f[:font_family]
58
- # xlsfmt.font.family = parse_font_family(f) if f[:font_family]
59
- # color = html_color_to_xls_color(f[:color])
60
- # xlsfmt.font.color = color if color
61
- # f.add_raw xlsfmt
62
- # end
63
- # return xlsfmt
64
- # end
65
- #
66
- # # Parses right font-family name
67
- # #
68
- # # @param [Workbook::Format, hash] format to parse
69
- # def parse_font_family(format)
70
- # font = format[:font_family].to_s.split.last
71
- # valid_values = [:none,:roman,:swiss,:modern,:script,:decorative]
72
- # if valid_values.include?(font)
73
- # return font
74
- # elsif valid_values.include?(font.to_s.downcase.to_sym)
75
- # return font.to_s.downcase.to_sym
76
- # else
77
- # font = font.to_s.downcase.strip
78
- # translation = {
79
- # "arial"=>:swiss,
80
- # "times"=>:roman,
81
- # "times new roman"=>:roman
82
- # }
83
- # tfont = translation[font]
84
- # return tfont ? tfont : :none
85
- # end
86
- # end
40
+ # Generates an RubyXL doc, ready for export to XLSX
87
41
  #
42
+ # @param [Hash] options A hash with options (unused so far)
43
+ # @return [String] A string, ready for streaming, e.g. `send_data workbook.stream_xlsx`
44
+ def stream_xlsx options = {}
45
+ to_xlsx(options).stream.string
46
+ end
88
47
 
89
- # Write the current workbook to Microsoft Excel format (using the spreadsheet gem)
48
+ # Write the current workbook to Microsoft Excel's new format (using the RubyXL gem)
90
49
  #
91
50
  # @param [String] filename
92
- # @param [Hash] options see #to_xls
51
+ # @param [Hash] options see #to_xlsx
93
52
  def write_to_xlsx filename="#{title}.xlsx", options={}
94
53
  if to_xlsx(options).write(filename)
95
54
  return filename
data/test/helper.rb CHANGED
@@ -1,4 +1,5 @@
1
1
  # -*- encoding : utf-8 -*-
2
- require 'test/unit'
2
+ require 'minitest/autorun'
3
+ # require 'test/unit'
3
4
  require 'rubygems'
4
5
  require File.join(File.dirname(__FILE__), '../lib/workbook')
data/test/test_book.rb CHANGED
@@ -1,7 +1,7 @@
1
1
  # -*- encoding : utf-8 -*-
2
2
  require File.join(File.dirname(__FILE__), 'helper')
3
3
 
4
- class TestWorkbook < Test::Unit::TestCase
4
+ class TestWorkbook < Minitest::Test
5
5
  def test_sheets
6
6
  w = Workbook::Book.new nil
7
7
  w.push
@@ -31,7 +31,7 @@ class TestWorkbook < Test::Unit::TestCase
31
31
  w = Workbook::Book.new nil
32
32
  s = Workbook::Sheet.new [Workbook::Row.new(Workbook::Table.new)]
33
33
  assert_equal(w.sheet.class,Workbook::Sheet)
34
- assert_not_equal(w.sheet, s)
34
+ refute_equal(w.sheet, s)
35
35
  w = Workbook::Book.new s
36
36
  assert_equal(w.sheet, s)
37
37
  end
@@ -41,7 +41,7 @@ class TestWorkbook < Test::Unit::TestCase
41
41
  def test_template
42
42
  b = Workbook::Book.new
43
43
  raw = "asdf"
44
- assert_raise(ArgumentError) { b.template = raw }
44
+ assert_raises(ArgumentError) { b.template = raw }
45
45
  raw = Workbook::Template.new
46
46
  b.template = raw
47
47
 
data/test/test_cell.rb CHANGED
@@ -1,7 +1,7 @@
1
1
  # -*- encoding : utf-8 -*-
2
2
  require File.join(File.dirname(__FILE__), 'helper')
3
3
 
4
- class TestCell < Test::Unit::TestCase
4
+ class TestCell < Minitest::Test
5
5
 
6
6
 
7
7
  def test_init
@@ -10,7 +10,7 @@ class TestCell < Test::Unit::TestCase
10
10
  w = Workbook::Cell.new "asdf"
11
11
  assert_equal("asdf",w.value)
12
12
 
13
- assert_raise(ArgumentError) { w = Workbook::Cell.new Workbook::Row }
13
+ assert_raises(ArgumentError) { w = Workbook::Cell.new Workbook::Row }
14
14
 
15
15
  t = Time.now
16
16
  w = Workbook::Cell.new t
data/test/test_column.rb CHANGED
@@ -1,7 +1,7 @@
1
1
  # -*- encoding : utf-8 -*-
2
2
  require File.join(File.dirname(__FILE__), 'helper')
3
3
 
4
- class TestColumn < Test::Unit::TestCase
4
+ class TestColumn < Minitest::Test
5
5
 
6
6
  def test_init
7
7
  c = Workbook::Column.new
@@ -11,14 +11,14 @@ class TestColumn < Test::Unit::TestCase
11
11
  assert_equal(20, c.limit)
12
12
  assert_equal(Workbook::Cell.new("asdf"), c.default)
13
13
  assert_equal(:boolean, c.column_type)
14
- assert_raise(ArgumentError) { Workbook::Column.new(true) }
15
- assert_raise(ArgumentError) { Workbook::Column.new(nil, {:limit=>20,:default=>"asdf", :column_type=>:bodfolean}) }
14
+ assert_raises(ArgumentError) { Workbook::Column.new(true) }
15
+ assert_raises(ArgumentError) { Workbook::Column.new(nil, {:limit=>20,:default=>"asdf", :column_type=>:bodfolean}) }
16
16
  end
17
17
 
18
18
  def test_table
19
19
  c = Workbook::Column.new
20
20
  c.table = Workbook::Table.new
21
21
  assert_equal(Workbook::Table.new, c.table)
22
- assert_raise(ArgumentError) { c.table = false }
22
+ assert_raises(ArgumentError) { c.table = false }
23
23
  end
24
24
  end
data/test/test_format.rb CHANGED
@@ -1,7 +1,7 @@
1
1
  # -*- encoding : utf-8 -*-
2
2
  require File.join(File.dirname(__FILE__), 'helper')
3
3
 
4
- class TestFormat < Test::Unit::TestCase
4
+ class TestFormat < Minitest::Test
5
5
 
6
6
 
7
7
  def test_initialize
@@ -1,7 +1,7 @@
1
1
  # -*- encoding : utf-8 -*-
2
2
  require File.join(File.dirname(__FILE__), 'helper')
3
3
 
4
- class TestFunctional < Test::Unit::TestCase
4
+ class TestFunctional < Minitest::Test
5
5
  def test_chapter_Initializing
6
6
  b = Workbook::Book.new
7
7
  assert_equal(Workbook::Book, b.class)
@@ -18,7 +18,7 @@ class TestToCacheClass
18
18
  end
19
19
 
20
20
  module Modules
21
- class TestTableDiffSort < Test::Unit::TestCase
21
+ class TestTableDiffSort < Minitest::Test
22
22
  def test_basic_fetch
23
23
  c = TestToCacheClass.new
24
24
  c.debug_cache = false
@@ -1,7 +1,7 @@
1
1
  # -*- encoding : utf-8 -*-
2
2
  require File.join(File.dirname(__FILE__), 'helper')
3
3
  module Modules
4
- class TestTableDiffSort < Test::Unit::TestCase
4
+ class TestTableDiffSort < Minitest::Test
5
5
  def test_sort
6
6
  time = Time.now
7
7
  b = Workbook::Book.new [[1,2,3],[2,2,3],[true,false,true],["asdf","sdf","as"],[time,2,3],[2,2,2],[22,2,3],[1,2,233]]
@@ -20,7 +20,7 @@ module Modules
20
20
 
21
21
  ba = Workbook::Book.new [['a','b','c','d'],[1,2,3,4],[4,2,3,4],[3,2,3,4]]
22
22
  sba = ba.sheet.table.sort
23
- assert_not_equal(Workbook::Table.new([['a','b','c','d'],[1,2,3,4],[4,2,3,4],[3,2,3,4]]),sba)
23
+ refute_equal(Workbook::Table.new([['a','b','c','d'],[1,2,3,4],[4,2,3,4],[3,2,3,4]]),sba)
24
24
  assert_equal(Workbook::Table.new([['a','b','c','d'],[1,2,3,4],[3,2,3,4],[4,2,3,4]]),sba)
25
25
 
26
26
  end
@@ -1,7 +1,7 @@
1
1
  # -*- encoding : utf-8 -*-
2
2
  require File.join(File.dirname(__FILE__), 'helper')
3
3
  module Modules
4
- class TestTypeParser < Test::Unit::TestCase
4
+ class TestTypeParser < Minitest::Test
5
5
  def examples
6
6
  {"2312"=>2312,
7
7
  "12-12-2012"=>Date.new(2012,12,12),
@@ -35,7 +35,7 @@ module Modules
35
35
  examples.each do |k,v|
36
36
  c = Workbook::Cell.new(k)
37
37
  c.string_parsers = customparsers
38
- assert_not_equal(v,c.parse)
38
+ refute_equal(v,c.parse)
39
39
  end
40
40
  c = Workbook::Cell.new("233")
41
41
  c.string_parsers = customparsers
@@ -1,7 +1,7 @@
1
1
  # -*- encoding : utf-8 -*-
2
2
  require File.join(File.dirname(__FILE__), 'helper')
3
3
  module Readers
4
- class TestCsvWriter < Test::Unit::TestCase
4
+ class TestCsvWriter < Minitest::Test
5
5
  def test_open
6
6
  w = Workbook::Book.new
7
7
  w.open File.join(File.dirname(__FILE__), 'artifacts/simple_csv.csv')
@@ -1,7 +1,7 @@
1
1
  # -*- encoding : utf-8 -*-
2
2
  require File.join(File.dirname(__FILE__), 'helper')
3
3
  module Readers
4
- class TestOdsWriter < Test::Unit::TestCase
4
+ class TestOdsWriter < Minitest::Test
5
5
  def test_ods_open
6
6
 
7
7
  w = Workbook::Book.new
@@ -1,7 +1,7 @@
1
1
  # -*- encoding : utf-8 -*-
2
2
  require File.join(File.dirname(__FILE__), 'helper')
3
3
  module Readers
4
- class TestTxtReader < Test::Unit::TestCase
4
+ class TestTxtReader < Minitest::Test
5
5
  # Should one day throw an error..
6
6
  # def test_failure_excel_as_txt_open
7
7
  # w = Workbook::Book.new
@@ -1,7 +1,7 @@
1
1
  # -*- encoding : utf-8 -*-
2
2
  require File.join(File.dirname(__FILE__), 'helper')
3
3
  module Readers
4
- class TestXlsWriter < Test::Unit::TestCase
4
+ class TestXlsWriter < Minitest::Test
5
5
  def test_xls_open
6
6
  w = Workbook::Book.new
7
7
  w.open File.join(File.dirname(__FILE__), 'artifacts/book_with_tabs_and_colours.xls')
@@ -1,7 +1,7 @@
1
1
  # -*- encoding : utf-8 -*-
2
2
  require File.join(File.dirname(__FILE__), 'helper')
3
3
  module Readers
4
- class TestXlsxWriter < Test::Unit::TestCase
4
+ class TestXlsxWriter < Minitest::Test
5
5
  def test_xlsx_open
6
6
  w = Workbook::Book.new
7
7
  w.open File.join(File.dirname(__FILE__), 'artifacts/book_with_tabs_and_colours.xlsx')
data/test/test_row.rb CHANGED
@@ -1,7 +1,7 @@
1
1
  # -*- encoding : utf-8 -*-
2
2
  require File.join(File.dirname(__FILE__), 'helper')
3
3
 
4
- class TestRow < Test::Unit::TestCase
4
+ class TestRow < Minitest::Test
5
5
 
6
6
 
7
7
  def test_init
@@ -25,7 +25,7 @@ class TestRow < Test::Unit::TestCase
25
25
 
26
26
  def test_table=
27
27
  r = Workbook::Row.new
28
- assert_raise(ArgumentError, 'table should be a Workbook::Table (you passed a String)') { r.table = "asdf" }
28
+ assert_raises(ArgumentError, 'table should be a Workbook::Table (you passed a String)') { r.table = "asdf" }
29
29
  r.table = nil
30
30
  assert_equal(r.table, nil)
31
31
  r = Workbook::Row.new
@@ -89,7 +89,7 @@ class TestRow < Test::Unit::TestCase
89
89
 
90
90
  def test_to_hash
91
91
  r1 = Workbook::Row.new ["test", "asdf-asd", "asdf - asdf", "asdf2"]
92
- assert_raise(NoMethodError, 'undefined method `header\' for nil:NilClass') { r1.to_hash }
92
+ assert_raises(NoMethodError, 'undefined method `header\' for nil:NilClass') { r1.to_hash }
93
93
 
94
94
  t = Workbook::Table.new
95
95
  r1 = Workbook::Row.new ["test", "asdf-asd"]
data/test/test_sheet.rb CHANGED
@@ -1,7 +1,7 @@
1
1
  # -*- encoding : utf-8 -*-
2
2
  require File.join(File.dirname(__FILE__), 'helper')
3
3
 
4
- class TestWorkbook < Test::Unit::TestCase
4
+ class TestWorkbook < Minitest::Test
5
5
  def test_init
6
6
  w = Workbook::Sheet.new nil
7
7
  assert_equal([[]],w)
data/test/test_table.rb CHANGED
@@ -1,7 +1,7 @@
1
1
  # -*- encoding : utf-8 -*-
2
2
  require File.join(File.dirname(__FILE__), 'helper')
3
3
 
4
- class TestTable< Test::Unit::TestCase
4
+ class TestTable< Minitest::Test
5
5
  def test_initialize
6
6
  t = Workbook::Table.new
7
7
  assert_equal(t,[])
@@ -184,7 +184,7 @@ class TestTable< Test::Unit::TestCase
184
184
  first_few_lines = table[12][0].value - table[2][0].value
185
185
  last_few_lines = table[last_line][0].value - table[last_line-10][0].value
186
186
  # puts [first_few_lines,last_few_lines].join(" vs ")
187
- assert_equal(true, first_few_lines*1.10 > last_few_lines) # 10% slower is acceptable
187
+ assert_equal(true, first_few_lines*1.20 > last_few_lines) # 10% slower is acceptable
188
188
  end
189
189
 
190
190
 
@@ -1,7 +1,7 @@
1
1
  # -*- encoding : utf-8 -*-
2
2
  require File.join(File.dirname(__FILE__), 'helper')
3
3
 
4
- class TestTemplate < Test::Unit::TestCase
4
+ class TestTemplate < Minitest::Test
5
5
 
6
6
  def test_initalize
7
7
  t = Workbook::Template.new
@@ -2,7 +2,7 @@
2
2
  require File.join(File.dirname(__FILE__), 'helper')
3
3
 
4
4
  module Writers
5
- class TestHtmlWriter < Test::Unit::TestCase
5
+ class TestHtmlWriter < Minitest::Test
6
6
  def test_to_html
7
7
  #jruby and ruby's output differ a bit... both produce valid results though
8
8
  # match = Workbook::Book.new.to_html.match(/<table \/>/) ? true : false #jruby
@@ -2,7 +2,7 @@
2
2
  require File.join(File.dirname(__FILE__), 'helper')
3
3
 
4
4
  module Writers
5
- class TestJsonWriter < Test::Unit::TestCase
5
+ class TestJsonWriter < Minitest::Test
6
6
  def test_to_array_of_hashes_with_values
7
7
  assert_equal([],Workbook::Table.new.to_array_of_hashes_with_values)
8
8
  assert_equal([],Workbook::Table.new([["a","b"]]).to_array_of_hashes_with_values)
@@ -2,7 +2,7 @@
2
2
  require File.join(File.dirname(__FILE__), 'helper')
3
3
 
4
4
  module Writers
5
- class TestXlsWriter < Test::Unit::TestCase
5
+ class TestXlsWriter < Minitest::Test
6
6
  def test_to_xls
7
7
  b = Workbook::Book.new [['a','b','c'],[1,2,3],[3,2,3]]
8
8
  raw = Spreadsheet.open File.join(File.dirname(__FILE__), 'artifacts/simple_sheet.xls')
@@ -2,7 +2,7 @@
2
2
  require File.join(File.dirname(__FILE__), 'helper')
3
3
 
4
4
  module Writers
5
- class TestXlsxWriter < Test::Unit::TestCase
5
+ class TestXlsxWriter < Minitest::Test
6
6
  def test_empty_to_xlsx
7
7
  b = Workbook::Book.new [['a','b','c'],[1,2,3],[3,2,3]]
8
8
  b.to_xlsx.is_a? RubyXL::Workbook
data/workbook.gemspec CHANGED
@@ -16,12 +16,13 @@ Gem::Specification.new do |s|
16
16
  s.add_development_dependency 'ruby-prof', '~> 0.14'
17
17
  s.add_dependency('rubyzip', '~>1')
18
18
  s.add_dependency('spreadsheet', '~> 1.0')
19
+ s.add_development_dependency('minitest', '~> 5.4')
19
20
  s.add_dependency('fastercsv') if RUBY_VERSION < "1.9"
20
21
  s.add_dependency("rchardet", "~> 1.3")
21
22
  s.add_dependency("rake", '~> 10.0')
22
23
  s.add_dependency("json", '~> 1.8')
23
24
  s.add_dependency("zip-zip", '~> 0.2') #actually a hack...
24
- s.add_dependency('rubyXL', '~> 2.5')
25
+ s.add_dependency('rubyXL', '~> 3.3')
25
26
  if RUBY_VERSION < "1.9"
26
27
  s.add_dependency('nokogiri', "~> 1.5.10")
27
28
  else
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: workbook
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.4.8
4
+ version: 0.4.9
5
5
  platform: ruby
6
6
  authors:
7
7
  - Maarten Brouwers
@@ -52,6 +52,20 @@ dependencies:
52
52
  - - "~>"
53
53
  - !ruby/object:Gem::Version
54
54
  version: '1.0'
55
+ - !ruby/object:Gem::Dependency
56
+ name: minitest
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - "~>"
60
+ - !ruby/object:Gem::Version
61
+ version: '5.4'
62
+ type: :development
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - "~>"
67
+ - !ruby/object:Gem::Version
68
+ version: '5.4'
55
69
  - !ruby/object:Gem::Dependency
56
70
  name: rchardet
57
71
  requirement: !ruby/object:Gem::Requirement
@@ -114,14 +128,14 @@ dependencies:
114
128
  requirements:
115
129
  - - "~>"
116
130
  - !ruby/object:Gem::Version
117
- version: '2.5'
131
+ version: '3.3'
118
132
  type: :runtime
119
133
  prerelease: false
120
134
  version_requirements: !ruby/object:Gem::Requirement
121
135
  requirements:
122
136
  - - "~>"
123
137
  - !ruby/object:Gem::Version
124
- version: '2.5'
138
+ version: '3.3'
125
139
  - !ruby/object:Gem::Dependency
126
140
  name: nokogiri
127
141
  requirement: !ruby/object:Gem::Requirement