write_xlsx 0.85.3 → 0.85.4

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
- SHA1:
3
- metadata.gz: 451a49314f7a14e2c9d5bfc5c4df3ca7f54e2718
4
- data.tar.gz: 040af462094068f22464c341ea38fa971b5e4403
2
+ SHA256:
3
+ metadata.gz: 653c8e697dbe8468dd60f4cde55e69a2454ce80192b455e7bb0c88b385aadce0
4
+ data.tar.gz: 75777d4a17597792871a0b78981e3b359b9113dc749ff7e495b80bf3812b232d
5
5
  SHA512:
6
- metadata.gz: 47524ba5498e8529ccc789da00036e0cf7a901d116f6661c75d8ee7b74485181aeb5ee7f657844cdbf756a1dfaa6337faf25c307586960fb32465fcca4764249
7
- data.tar.gz: b582ea2f76e0bf02a37484581d732c9a329161d606fae13a381cd6541824b0a4ee061f8196385277a4e8b92f0965db79b5d426bf77cc7107201f55f18b1e0b76
6
+ metadata.gz: 6fc85d45b48b49b1a75a06b53c06a53bf1eb3b03dee67318e88f2a78248b3d75290d82920f41cc28327e676f6bb1c0a4742b816195fafd60f9817fbe7d830aa7
7
+ data.tar.gz: 934303155838fc8008fa1e560d64d111fccd954b1006744645139124f8e2c403e9aa9ee31fd29e98b0ec2682069ea6293e46fcbe5146c5ac39d1e8dbdea07c8c
data/Changes CHANGED
@@ -1,5 +1,8 @@
1
1
  Change history of write_xlsx rubygem.
2
2
 
3
+ 2018-04-29 v0.85.3
4
+ Added option to store hyperlink strings as string (urls_as_strings).
5
+
3
6
  2018-01-07 v0.85.3
4
7
  Fix hide first sheet problem #37
5
8
 
data/Rakefile CHANGED
@@ -7,5 +7,5 @@ require 'rake/testtask'
7
7
  Rake::TestTask.new do |test|
8
8
  test.libs << 'test'
9
9
  test.pattern = 'test/**/test_*.rb'
10
- test.verbose = true
10
+ test.warning = false
11
11
  end
@@ -1 +1 @@
1
- WriteXLSX_VERSION = "0.85.3"
1
+ WriteXLSX_VERSION = "0.85.4"
@@ -47,6 +47,7 @@ class Workbook
47
47
  attr_reader :shared_strings # :nodoc:
48
48
  attr_reader :vba_project # :nodoc:
49
49
  attr_reader :excel2003_style # :nodoc:
50
+ attr_reader :strings_to_urls # :nodoc:
50
51
  #
51
52
  # A new Excel workbook is created using the +new+ constructor
52
53
  # which accepts either a filename or an IO object as a parameter.
@@ -123,6 +124,7 @@ def initialize(file, *option_params)
123
124
  @table_count = 0
124
125
  @image_types = {}
125
126
  @images = []
127
+ @strings_to_urls = (options[:strings_to_urls].nil? || options[:strings_to_urls]) ? true : false
126
128
 
127
129
  # Structures for the shared strings data.
128
130
  @shared_strings = Package::SharedStrings.new
@@ -1783,15 +1783,6 @@ def write(*args)
1783
1783
  write_number(*args)
1784
1784
  elsif token =~ /^\d+$/
1785
1785
  write_number(*args)
1786
- # Match http, https or ftp URL
1787
- elsif token =~ %r|\A[fh]tt?ps?://|
1788
- write_url(*args)
1789
- # Match mailto:
1790
- elsif token =~ %r|\Amailto:|
1791
- write_url(*args)
1792
- # Match internal or external sheet link
1793
- elsif token =~ %r!\A(?:in|ex)ternal:!
1794
- write_url(*args)
1795
1786
  # Match formula
1796
1787
  elsif token =~ /^=/
1797
1788
  write_formula(*args)
@@ -1802,6 +1793,19 @@ def write(*args)
1802
1793
  elsif token == ''
1803
1794
  row_col_args.delete_at(2) # remove the empty string from the parameter list
1804
1795
  write_blank(*row_col_args)
1796
+ elsif @workbook.strings_to_urls
1797
+ # Match http, https or ftp URL
1798
+ if token =~ %r|\A[fh]tt?ps?://|
1799
+ write_url(*args)
1800
+ # Match mailto:
1801
+ elsif token =~ %r|\Amailto:|
1802
+ write_url(*args)
1803
+ # Match internal or external sheet link
1804
+ elsif token =~ %r!\A(?:in|ex)ternal:!
1805
+ write_url(*args)
1806
+ else
1807
+ write_string(*args)
1808
+ end
1805
1809
  else
1806
1810
  write_string(*args)
1807
1811
  end
@@ -0,0 +1,25 @@
1
+ # -*- coding: utf-8 -*-
2
+ require 'helper'
3
+
4
+ class TestUrlsAsStrings < Test::Unit::TestCase
5
+ def setup
6
+ setup_dir_var
7
+ end
8
+
9
+ def teardown
10
+ File.delete(@xlsx) if File.exist?(@xlsx)
11
+ end
12
+
13
+ def test_urls_as_strings
14
+ @xlsx = 'urls_as_strings.xlsx'
15
+ workbook = WriteXLSX.new(@xlsx, urls_as_strings: true)
16
+ worksheet = workbook.add_worksheet
17
+ worksheet.write('A1', 'http://www.write_xlsx.com')
18
+ worksheet.write('A2', 'mailto:write_xlsx@example.com')
19
+ worksheet.write('A3', 'ftp://ftp.ruby.org/' )
20
+ worksheet.write('A4', 'internal:Sheet1!A1' )
21
+ worksheet.write('A5', 'external:c:\foo.xlsx')
22
+ workbook.close
23
+ compare_xlsx_for_regression(File.join(@regression_output, @xlsx), @xlsx)
24
+ end
25
+ end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: write_xlsx
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.85.3
4
+ version: 0.85.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Hideo NAKAMURA
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2018-01-07 00:00:00.000000000 Z
11
+ date: 2018-04-29 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rubyzip
@@ -978,6 +978,7 @@ files:
978
978
  - test/regression/test_tutorial01.rb
979
979
  - test/regression/test_tutorial02.rb
980
980
  - test/regression/test_tutorial03.rb
981
+ - test/regression/test_urls_as_strings.rb
981
982
  - test/regression/test_utf8_01.rb
982
983
  - test/regression/test_utf8_03.rb
983
984
  - test/regression/test_utf8_04.rb
@@ -1560,6 +1561,7 @@ files:
1560
1561
  - test/regression/xlsx_files/tutorial01.xlsx
1561
1562
  - test/regression/xlsx_files/tutorial02.xlsx
1562
1563
  - test/regression/xlsx_files/tutorial03.xlsx
1564
+ - test/regression/xlsx_files/urls_as_strings.xlsx
1563
1565
  - test/regression/xlsx_files/utf8_01.xlsx
1564
1566
  - test/regression/xlsx_files/utf8_03.xlsx
1565
1567
  - test/regression/xlsx_files/utf8_04.xlsx
@@ -1708,7 +1710,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
1708
1710
  version: '0'
1709
1711
  requirements: []
1710
1712
  rubyforge_project:
1711
- rubygems_version: 2.5.2.1
1713
+ rubygems_version: 2.7.3
1712
1714
  signing_key:
1713
1715
  specification_version: 4
1714
1716
  summary: write_xlsx is a gem to create a new file in the Excel 2007+ XLSX format.
@@ -2488,6 +2490,7 @@ test_files:
2488
2490
  - test/regression/test_tutorial01.rb
2489
2491
  - test/regression/test_tutorial02.rb
2490
2492
  - test/regression/test_tutorial03.rb
2493
+ - test/regression/test_urls_as_strings.rb
2491
2494
  - test/regression/test_utf8_01.rb
2492
2495
  - test/regression/test_utf8_03.rb
2493
2496
  - test/regression/test_utf8_04.rb
@@ -3070,6 +3073,7 @@ test_files:
3070
3073
  - test/regression/xlsx_files/tutorial01.xlsx
3071
3074
  - test/regression/xlsx_files/tutorial02.xlsx
3072
3075
  - test/regression/xlsx_files/tutorial03.xlsx
3076
+ - test/regression/xlsx_files/urls_as_strings.xlsx
3073
3077
  - test/regression/xlsx_files/utf8_01.xlsx
3074
3078
  - test/regression/xlsx_files/utf8_03.xlsx
3075
3079
  - test/regression/xlsx_files/utf8_04.xlsx