simple-spreadsheet-extractor 0.13.4 → 0.15.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,15 +1,7 @@
1
1
  ---
2
- !binary "U0hBMQ==":
3
- metadata.gz: !binary |-
4
- YjYwYjc2N2MxNDIyZWNiZmEzZmYwZjRjMWEwMzI0Y2U2MGVmZmQ1ZQ==
5
- data.tar.gz: !binary |-
6
- YjVmZTBjYzBmMzMzY2VhYzBiZjNhMTJkNzMwYzViNjYzMzAyM2M2OA==
2
+ SHA1:
3
+ metadata.gz: 39a9475bfe11ce50a2edc97d54c3f2e93a5e7421
4
+ data.tar.gz: cd181e56d1f58a4b318129deca3bca6544b62910
7
5
  SHA512:
8
- metadata.gz: !binary |-
9
- YmM4OWNkNTQxNDkwMzJmMjQwYTdmMTU3ZTQ4N2NiNmZmYmEzZmI2NzQzZmFi
10
- NDdkZmQwNjYzNGM3NGFhNmE2NDQ4MzY1ZmJhNTU1ZGQ4MTc4ZGIzOTFkZDBl
11
- NDRjNmIwMzY0MDA4OWYxZDFiYjc1NDlhY2I5NzdlZTI5ODNiNTM=
12
- data.tar.gz: !binary |-
13
- MDAzZDI0OWVhZWU4ZmM5N2ZjYzQxMTVmYjUzYTM5ZmU2NWUxMzI0NmY2MWVm
14
- NDZkMmRjMjgxOGUxNTdhNTk2ZjAwOGJlZmRiMDljYTM3MmNlM2JhZjY5ZDgy
15
- ZTI1ZDhjMDVkNGJkNmNhN2Y3NjU3OGQ4OGRiODFmNDdiODMxM2Y=
6
+ metadata.gz: e9dd4fd69b122c774d731219e44273dd73971cb325313f9237bb048cf6b95b57637ac510a4a6e48c17824e72bfb1db252625a058e6dfbedba1c0685ec17d15a7
7
+ data.tar.gz: 0f89e8351ef0e20732a51cca35061e76cd9b8b5692a4936ec2ddfcb2113bbe4a4516e5e7c7d4945e90967a6a58e916778e6559a2892754d3a1a9b17f7e9da652
data/.travis.yml ADDED
@@ -0,0 +1,11 @@
1
+ language: ruby
2
+
3
+ rvm:
4
+ - 2.1.5
5
+ - 1.9.3
6
+
7
+ sudo: false
8
+
9
+ cache: bundler
10
+
11
+ script: bundle exec rake test
data/Gemfile CHANGED
@@ -1,8 +1,10 @@
1
1
  source 'https://rubygems.org'
2
2
  source 'http://gems.github.com'
3
3
 
4
- gem "libxml-ruby","~>2.6.0"
4
+ gem "libxml-ruby","~>2.6"
5
5
  gem "open4","1.3.0"
6
6
 
7
7
  gem "rdoc",:group=>:development
8
8
  gem "jeweler",:group=>:development
9
+ gem "rubocop", :group=>:development,:require=>false
10
+ gem "rubycritic", :group=>:development,:require=>false
data/Gemfile.lock CHANGED
@@ -2,10 +2,36 @@ GEM
2
2
  remote: https://rubygems.org/
3
3
  remote: http://gems.github.com/
4
4
  specs:
5
+ abstract_type (0.0.7)
6
+ adamantium (0.2.0)
7
+ ice_nine (~> 0.11.0)
8
+ memoizable (~> 0.4.0)
5
9
  addressable (2.3.5)
10
+ ast (2.0.0)
11
+ astrolabe (1.3.0)
12
+ parser (>= 2.2.0.pre.3, < 3.0)
13
+ axiom-types (0.1.1)
14
+ descendants_tracker (~> 0.0.4)
15
+ ice_nine (~> 0.11.0)
16
+ thread_safe (~> 0.3, >= 0.3.1)
6
17
  builder (3.2.2)
18
+ coercible (1.0.0)
19
+ descendants_tracker (~> 0.0.1)
20
+ concord (0.1.5)
21
+ adamantium (~> 0.2.0)
22
+ equalizer (~> 0.0.9)
23
+ descendants_tracker (0.0.4)
24
+ thread_safe (~> 0.3, >= 0.3.1)
25
+ diff-lcs (1.2.5)
26
+ equalizer (0.0.9)
7
27
  faraday (0.8.8)
8
28
  multipart-post (~> 1.2.0)
29
+ flay (2.4.0)
30
+ ruby_parser (~> 3.0)
31
+ sexp_processor (~> 4.0)
32
+ flog (4.2.1)
33
+ ruby_parser (~> 3.1, > 3.1.0)
34
+ sexp_processor (~> 4.4)
9
35
  git (1.2.6)
10
36
  github_api (0.10.1)
11
37
  addressable
@@ -17,6 +43,7 @@ GEM
17
43
  hashie (2.0.5)
18
44
  highline (1.6.20)
19
45
  httpauth (0.2.0)
46
+ ice_nine (0.11.1)
20
47
  jeweler (1.8.8)
21
48
  builder
22
49
  bundler (~> 1.0)
@@ -30,6 +57,8 @@ GEM
30
57
  jwt (0.1.8)
31
58
  multi_json (>= 1.5)
32
59
  libxml-ruby (2.6.0)
60
+ memoizable (0.4.2)
61
+ thread_safe (~> 0.3, >= 0.3.1)
33
62
  multi_json (1.8.2)
34
63
  multi_xml (0.5.5)
35
64
  multipart-post (1.2.0)
@@ -42,16 +71,57 @@ GEM
42
71
  multi_xml (~> 0.5)
43
72
  rack (~> 1.2)
44
73
  open4 (1.3.0)
74
+ parser (2.2.0.3)
75
+ ast (>= 1.1, < 3.0)
76
+ powerpack (0.1.0)
77
+ procto (0.0.2)
45
78
  rack (1.5.2)
79
+ rainbow (2.0.0)
46
80
  rake (10.1.0)
47
81
  rdoc (4.0.1)
48
82
  json (~> 1.4)
83
+ reek (1.6.5)
84
+ parser (~> 2.2.0.pre.7)
85
+ rainbow (>= 1.99, < 3.0)
86
+ unparser (~> 0.2.2)
87
+ rubocop (0.29.1)
88
+ astrolabe (~> 1.3)
89
+ parser (>= 2.2.0.1, < 3.0)
90
+ powerpack (~> 0.1)
91
+ rainbow (>= 1.99.1, < 3.0)
92
+ ruby-progressbar (~> 1.4)
93
+ ruby-progressbar (1.7.1)
94
+ ruby_parser (3.6.4)
95
+ sexp_processor (~> 4.1)
96
+ rubycritic (1.3.0)
97
+ flay (= 2.4.0)
98
+ flog (= 4.2.1)
99
+ parser (>= 2.2.0, < 3.0)
100
+ reek (= 1.6.5)
101
+ virtus (~> 1.0)
102
+ sexp_processor (4.4.5)
103
+ thread_safe (0.3.4)
104
+ unparser (0.2.2)
105
+ abstract_type (~> 0.0.7)
106
+ adamantium (~> 0.2.0)
107
+ concord (~> 0.1.5)
108
+ diff-lcs (~> 1.2.5)
109
+ equalizer (~> 0.0.9)
110
+ parser (~> 2.2.0.2)
111
+ procto (~> 0.0.2)
112
+ virtus (1.0.4)
113
+ axiom-types (~> 0.1)
114
+ coercible (~> 1.0)
115
+ descendants_tracker (~> 0.0, >= 0.0.3)
116
+ equalizer (~> 0.0, >= 0.0.9)
49
117
 
50
118
  PLATFORMS
51
119
  ruby
52
120
 
53
121
  DEPENDENCIES
54
122
  jeweler
55
- libxml-ruby (~> 2.6.0)
123
+ libxml-ruby (~> 2.6)
56
124
  open4 (= 1.3.0)
57
125
  rdoc
126
+ rubocop
127
+ rubycritic
data/README.rdoc CHANGED
@@ -1,10 +1,14 @@
1
1
  = Simple Spreadsheet Extractor
2
2
 
3
3
  Authors:: Stuart Owen, Finn Bacall
4
- Version:: 0.12.0
4
+ Version:: 0.15.0
5
5
  Contact:: mailto:stuart.owen@manchester.ac.uk
6
6
  Licence:: BSD (See LICENCE or http://www.opensource.org/licenses/bsd-license.php)
7
- Copyright:: (c) 2010-2012 The University of Manchester, UK
7
+ Copyright:: (c) 2010-2015 The University of Manchester, UK
8
+
9
+ {<img src="https://codeclimate.com/github/myGrid/simple-spreadsheet-extractor-gem/badges/gpa.svg" />}[https://codeclimate.com/github/myGrid/simple-spreadsheet-extractor-gem]
10
+
11
+ {<img src="https://travis-ci.org/myGrid/simple-spreadsheet-extractor-gem.svg?branch=master" alt="Build Status" />}[https://travis-ci.org/myGrid/simple-spreadsheet-extractor-gem]
8
12
 
9
13
 
10
14
  == Synopsis
@@ -31,6 +35,7 @@ Java 1.6 (JRE) is required.
31
35
  * include the module SysMODB::SpreadsheetExtractor
32
36
  * pass an IO object to the method spreedsheet_to_xml which responds with the XML for the contents of the spreadsheet. Alternatively use spreadsheet_to_csv for CSV.
33
37
  * if something goes wrong with the extraction then a SysMODB::SpreadsheetExtractionException will be thrown
38
+ * by default the JVM is allocated 512M of memory, you can override this by passing a string as the last argument. This will be passed to -Xmx in the java command.
34
39
 
35
40
  e.g.
36
41
 
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.13.4
1
+ 0.15.0
Binary file
Binary file
Binary file
@@ -1,97 +1 @@
1
- require 'rubygems'
2
- require 'open4'
3
-
4
-
5
- module SysMODB
6
-
7
- class SpreadsheetExtractionException < Exception
8
- end
9
-
10
- module SpreadsheetExtractor
11
- JAR_VERSION="0.13.1"
12
- DEFAULT_PATH = File.dirname(__FILE__) + "/../jars/simple-spreadsheet-extractor-#{JAR_VERSION}.jar"
13
-
14
- def spreadsheet_to_xml spreadsheet_data
15
- if is_windows?
16
- raise Exception.new("Windows is not currently supported")
17
- else
18
- read_with_open4 spreadsheet_data,"xml"
19
- end
20
- end
21
-
22
- def spreadsheet_to_csv spreadsheet_data,sheet=1,trim=false
23
- if is_windows?
24
- raise Exception.new("Windows is not currently supported")
25
- else
26
- read_with_open4 spreadsheet_data,"csv",sheet,trim
27
- end
28
- end
29
-
30
-
31
-
32
- def spreadsheet_extractor_command format="xml",sheet=nil,trim=false
33
- command = "java -jar #{(defined? SPREADSHEET_EXTRACTOR_JAR_PATH) ? SPREADSHEET_EXTRACTOR_JAR_PATH : DEFAULT_PATH}"
34
- command += " -o #{format}"
35
- command += " -s #{sheet}" if sheet
36
- command += " -t" if trim
37
- command
38
- end
39
-
40
- private
41
-
42
- def is_windows?
43
- !(RUBY_PLATFORM =~ /mswin32/ || RUBY_PLATFORM =~ /mingw32/).nil?
44
- end
45
-
46
- #opens using POpen4 - this is for the benefit of Windows. It has been found to be unstable in Linux and give occasional segmentation faults
47
- #def read_with_popen4 spreadsheet_data,format="xml",sheet=nil,trim=false
48
- # output=""
49
- # err_message = ""
50
- # command = spreadsheet_extractor_command format,sheet,trim
51
- # status = POpen4::popen4(command) do |stdout, stderr, stdin, pid|
52
- # stdin=stdin.binmode
53
- # spreadsheet_data.each_byte{|b| stdin.putc(b)}
54
- # stdin.close
55
- #
56
- # output=stdout.read.strip
57
- # err_message=stderr.read.strip
58
- #
59
- # end
60
- #
61
- # if status.to_i != 0
62
- # raise SpreadsheetExtractionException.new(err_message)
63
- # end
64
- #
65
- # output.strip
66
- #end
67
-
68
- def read_with_open4 spreadsheet_data,format="xml",sheet=nil,trim=false
69
- output = ""
70
- err_message = ""
71
- command = spreadsheet_extractor_command format,sheet,trim
72
- status = Open4::popen4(command) do |pid, stdin, stdout, stderr|
73
- while ((line = spreadsheet_data.gets) != nil) do
74
- stdin << line
75
- end
76
- stdin.close
77
-
78
- while ((line = stdout.gets) != nil) do
79
- output << line
80
- end
81
- stdout.close
82
-
83
- while ((line=stderr.gets)!= nil) do
84
- err_message << line
85
- end
86
- stderr.close
87
- end
88
-
89
- if status.to_i != 0
90
- raise SpreadsheetExtractionException.new(err_message)
91
- end
92
-
93
- output.strip
94
- end
95
-
96
- end
97
- end
1
+ require 'sysmodb/simple-spreadsheet-extractor'
@@ -0,0 +1,71 @@
1
+ require 'open4'
2
+
3
+ module SysMODB
4
+ #Exception that is thrown when a problem occurs during the extraction
5
+ class SpreadsheetExtractionException < Exception; end
6
+
7
+ #handles the delegation to java, and executes the extraction passing the
8
+ #input file through STDIN, and reading the results through STDOUT.
9
+ class Extractor
10
+ JAR_VERSION="0.15.0"
11
+ DEFAULT_PATH = File.dirname(__FILE__) + "/../../jars/simple-spreadsheet-extractor-#{JAR_VERSION}.jar"
12
+ BUFFER_SIZE=250000 # 1/4 a megabyte
13
+
14
+ def initialize(memory_allocation)
15
+ @memory_allocation = memory_allocation
16
+ if is_windows?
17
+ raise Exception.new("Windows is not currently supported")
18
+ end
19
+ end
20
+
21
+ def spreadsheet_to_xml(spreadsheet_data)
22
+ read_with_open4 spreadsheet_data,"xml"
23
+ end
24
+
25
+ def spreadsheet_to_csv(spreadsheet_data,sheet=1,trim=false)
26
+ read_with_open4 spreadsheet_data,"csv",sheet,trim
27
+ end
28
+
29
+ private
30
+
31
+ def spreadsheet_extractor_command(format="xml",sheet=nil,trim=false)
32
+ command = "java -Xmx#{@memory_allocation} -jar #{(defined? SPREADSHEET_EXTRACTOR_JAR_PATH) ? SPREADSHEET_EXTRACTOR_JAR_PATH : DEFAULT_PATH}"
33
+ command += " -o #{format}"
34
+ command += " -s #{sheet}" if sheet
35
+ command += " -t" if trim
36
+ command
37
+ end
38
+
39
+ def is_windows?
40
+ !(RUBY_PLATFORM =~ /mswin32/ || RUBY_PLATFORM =~ /mingw32/).nil?
41
+ end
42
+
43
+ def read_with_open4(spreadsheet_data,format="xml",sheet=nil,trim=false)
44
+ output = ""
45
+ err_message = ""
46
+ command = spreadsheet_extractor_command format,sheet,trim
47
+ status = Open4.popen4(command) do |_pid, stdin, stdout, stderr|
48
+ while ((line = spreadsheet_data.gets(BUFFER_SIZE)) != nil) do
49
+ stdin << line
50
+ end
51
+ stdin.close
52
+
53
+ while ((line = stdout.gets(BUFFER_SIZE)) != nil) do
54
+ output << line
55
+ end
56
+ stdout.close
57
+
58
+ until ((line=stderr.gets((BUFFER_SIZE))).nil?) do
59
+ err_message << line
60
+ end
61
+ stderr.close
62
+ end
63
+
64
+ if status.to_i != 0
65
+ raise SpreadsheetExtractionException.new(err_message)
66
+ end
67
+
68
+ output.strip
69
+ end
70
+ end
71
+ end
@@ -0,0 +1,38 @@
1
+
2
+ require 'sysmodb/extractor'
3
+
4
+ module SysMODB
5
+ DEFAULT_MEMORY_ALLOCATION = '512M'
6
+
7
+ # The mixin to allow you to extract from a spreadsheet file using
8
+ # simple_spreadsheet_to_xml to extract to an xml format (see README and schema in doc/schema-v1.xsd)
9
+ # simple_spreadhseet_to_csv to extract to CSV format for a single sheet
10
+ module SpreadsheetExtractor
11
+
12
+ # :call-seq:
13
+ # spreadsheet_to_xml(spreadsheet_data) -> String
14
+ # spreadsheet_to_xml(spreadsheet_data, memory_allocation) -> String
15
+ #
16
+ # reads the incoming data from an IO object and returns the generated XML.
17
+ # it is extracted using java, and the default memory allocation is 512M (passed to -Xmx) this can
18
+ # be changed by passing an option final parameter memory_allocation
19
+ def spreadsheet_to_xml(spreadsheet_data, memory_allocation = DEFAULT_MEMORY_ALLOCATION)
20
+ SysMODB::Extractor.new(memory_allocation).spreadsheet_to_xml(spreadsheet_data)
21
+ end
22
+
23
+ # :call-seq:
24
+ # spreadsheet_to_csv(spreadsheet_data) -> String
25
+ # spreadsheet_to_csv(spreadsheet_data, sheet) -> String
26
+ # spreadsheet_to_csv(spreadsheet_data, sheet, trim) -> String
27
+ # spreadsheet_to_csv(spreadsheet_data, sheet, trim, memory_allocation) -> String
28
+ #
29
+ # reads the incoming data from an IO object and returns the generated CSV.
30
+ # only 1 sheet is processed, which by default it the first sheet.
31
+ # if trim is set to true, proceeding or trailing cells will be removed whilst keeping the csv uniform.
32
+ # it is extracted using java, and the default memory allocation is 512M (passed to -Xmx) this can
33
+ # be changed by passing an option final parameter memory_allocation
34
+ def spreadsheet_to_csv(spreadsheet_data, sheet = 1, trim = false, memory_allocation = DEFAULT_MEMORY_ALLOCATION)
35
+ SysMODB::Extractor.new(memory_allocation).spreadsheet_to_csv(spreadsheet_data, sheet, trim)
36
+ end
37
+ end
38
+ end
@@ -2,16 +2,16 @@
2
2
  # DO NOT EDIT THIS FILE DIRECTLY
3
3
  # Instead, edit Jeweler::Tasks in Rakefile, and run 'rake gemspec'
4
4
  # -*- encoding: utf-8 -*-
5
- # stub: simple-spreadsheet-extractor 0.13.4 ruby lib
5
+ # stub: simple-spreadsheet-extractor 0.15.0 ruby lib
6
6
 
7
7
  Gem::Specification.new do |s|
8
8
  s.name = "simple-spreadsheet-extractor"
9
- s.version = "0.13.4"
9
+ s.version = "0.15.0"
10
10
 
11
11
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
12
12
  s.require_paths = ["lib"]
13
13
  s.authors = ["Stuart Owen", "Finn Bacall", "Quyen Nguyen"]
14
- s.date = "2015-01-15"
14
+ s.date = "2015-03-13"
15
15
  s.description = "Takes a stream to a spreadsheet file and produces an XML or CSV representation of its contents"
16
16
  s.email = "stuart.owen@manchester.ac.uk"
17
17
  s.extra_rdoc_files = [
@@ -20,6 +20,7 @@ Gem::Specification.new do |s|
20
20
  s.files = [
21
21
  ".ruby-gemspec",
22
22
  ".ruby-version",
23
+ ".travis.yml",
23
24
  "Gemfile",
24
25
  "Gemfile.lock",
25
26
  "LICENSE",
@@ -29,18 +30,22 @@ Gem::Specification.new do |s|
29
30
  "doc/schema-v1.xsd",
30
31
  "examples/example.rb",
31
32
  "jars/lib/dom4j-1.6.1.jar",
32
- "jars/lib/poi-ooxml-3.9.jar",
33
- "jars/lib/poi-ooxml-schemas-3.9.jar",
34
- "jars/lib/rightfield-poi-3.9.jar",
35
- "jars/lib/xmlbeans-2.3.0.jar",
36
- "jars/simple-spreadsheet-extractor-0.13.1.jar",
33
+ "jars/lib/log4j-1.2.17.jar",
34
+ "jars/lib/poi-3.11.jar",
35
+ "jars/lib/poi-ooxml-3.11.jar",
36
+ "jars/lib/poi-ooxml-schemas-3.11.jar",
37
+ "jars/lib/xmlbeans-2.6.0.jar",
38
+ "jars/simple-spreadsheet-extractor-0.15.0.jar",
37
39
  "lib/simple-spreadsheet-extractor.rb",
40
+ "lib/sysmodb/extractor.rb",
41
+ "lib/sysmodb/simple-spreadsheet-extractor.rb",
38
42
  "simple-spreadsheet-extractor.gemspec",
39
43
  "test/files/not-a-spreadsheet.xls",
40
44
  "test/files/problem_with_dv.xls",
41
45
  "test/files/test-csv-output1-trimmed.csv",
42
46
  "test/files/test-csv-output1.csv",
43
47
  "test/files/test-spreadsheet.xls",
48
+ "test/files/test-spreadsheet.xlsx",
44
49
  "test/test_extraction.rb"
45
50
  ]
46
51
  s.homepage = "http://github.com/myGrid/simple-spreadsheet-extractor-gem"
@@ -51,21 +56,27 @@ Gem::Specification.new do |s|
51
56
  s.specification_version = 4
52
57
 
53
58
  if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
54
- s.add_runtime_dependency(%q<libxml-ruby>, ["~> 2.6.0"])
59
+ s.add_runtime_dependency(%q<libxml-ruby>, ["~> 2.6"])
55
60
  s.add_runtime_dependency(%q<open4>, ["= 1.3.0"])
56
61
  s.add_development_dependency(%q<rdoc>, [">= 0"])
57
62
  s.add_development_dependency(%q<jeweler>, [">= 0"])
63
+ s.add_development_dependency(%q<rubocop>, [">= 0"])
64
+ s.add_development_dependency(%q<rubycritic>, [">= 0"])
58
65
  else
59
- s.add_dependency(%q<libxml-ruby>, ["~> 2.6.0"])
66
+ s.add_dependency(%q<libxml-ruby>, ["~> 2.6"])
60
67
  s.add_dependency(%q<open4>, ["= 1.3.0"])
61
68
  s.add_dependency(%q<rdoc>, [">= 0"])
62
69
  s.add_dependency(%q<jeweler>, [">= 0"])
70
+ s.add_dependency(%q<rubocop>, [">= 0"])
71
+ s.add_dependency(%q<rubycritic>, [">= 0"])
63
72
  end
64
73
  else
65
- s.add_dependency(%q<libxml-ruby>, ["~> 2.6.0"])
74
+ s.add_dependency(%q<libxml-ruby>, ["~> 2.6"])
66
75
  s.add_dependency(%q<open4>, ["= 1.3.0"])
67
76
  s.add_dependency(%q<rdoc>, [">= 0"])
68
77
  s.add_dependency(%q<jeweler>, [">= 0"])
78
+ s.add_dependency(%q<rubocop>, [">= 0"])
79
+ s.add_dependency(%q<rubycritic>, [">= 0"])
69
80
  end
70
81
  end
71
82
 
Binary file
@@ -7,13 +7,6 @@ class TestExtraction < Test::Unit::TestCase
7
7
  SCHEMA_FILE_PATH = File.dirname(__FILE__) + "/../doc/schema-v1.xsd"
8
8
 
9
9
  include SysMODB::SpreadsheetExtractor
10
-
11
- def test_from_file_object
12
- test_sheet = File.dirname(__FILE__) + "/files/test-spreadsheet.xls"
13
- f=open(test_sheet,"rb")
14
- xml = spreadsheet_to_xml(f)
15
- assert_not_nil xml
16
- end
17
10
 
18
11
  def test_from_non_file_io_object
19
12
  test_sheet = File.dirname(__FILE__) + "/files/test-spreadsheet.xls"
@@ -29,6 +22,13 @@ class TestExtraction < Test::Unit::TestCase
29
22
  validate_against_schema(xml)
30
23
  end
31
24
 
25
+ def test_validate_xml_xlsx
26
+ test_sheet = File.dirname(__FILE__) + "/files/test-spreadsheet.xlsx"
27
+ f=open(test_sheet,"rb")
28
+ xml = spreadsheet_to_xml(f)
29
+ validate_against_schema(xml)
30
+ end
31
+
32
32
  def test_failure
33
33
  test_sheet = File.dirname(__FILE__) + "/files/not-a-spreadsheet.xls"
34
34
  f=open(test_sheet,"rb")
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: simple-spreadsheet-extractor
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.13.4
4
+ version: 0.15.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Stuart Owen
@@ -10,22 +10,22 @@ authors:
10
10
  autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
- date: 2015-01-15 00:00:00.000000000 Z
13
+ date: 2015-03-13 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: libxml-ruby
17
17
  requirement: !ruby/object:Gem::Requirement
18
18
  requirements:
19
- - - ~>
19
+ - - "~>"
20
20
  - !ruby/object:Gem::Version
21
- version: 2.6.0
21
+ version: '2.6'
22
22
  type: :runtime
23
23
  prerelease: false
24
24
  version_requirements: !ruby/object:Gem::Requirement
25
25
  requirements:
26
- - - ~>
26
+ - - "~>"
27
27
  - !ruby/object:Gem::Version
28
- version: 2.6.0
28
+ version: '2.6'
29
29
  - !ruby/object:Gem::Dependency
30
30
  name: open4
31
31
  requirement: !ruby/object:Gem::Requirement
@@ -44,28 +44,56 @@ dependencies:
44
44
  name: rdoc
45
45
  requirement: !ruby/object:Gem::Requirement
46
46
  requirements:
47
- - - ! '>='
47
+ - - ">="
48
48
  - !ruby/object:Gem::Version
49
49
  version: '0'
50
50
  type: :development
51
51
  prerelease: false
52
52
  version_requirements: !ruby/object:Gem::Requirement
53
53
  requirements:
54
- - - ! '>='
54
+ - - ">="
55
55
  - !ruby/object:Gem::Version
56
56
  version: '0'
57
57
  - !ruby/object:Gem::Dependency
58
58
  name: jeweler
59
59
  requirement: !ruby/object:Gem::Requirement
60
60
  requirements:
61
- - - ! '>='
61
+ - - ">="
62
62
  - !ruby/object:Gem::Version
63
63
  version: '0'
64
64
  type: :development
65
65
  prerelease: false
66
66
  version_requirements: !ruby/object:Gem::Requirement
67
67
  requirements:
68
- - - ! '>='
68
+ - - ">="
69
+ - !ruby/object:Gem::Version
70
+ version: '0'
71
+ - !ruby/object:Gem::Dependency
72
+ name: rubocop
73
+ requirement: !ruby/object:Gem::Requirement
74
+ requirements:
75
+ - - ">="
76
+ - !ruby/object:Gem::Version
77
+ version: '0'
78
+ type: :development
79
+ prerelease: false
80
+ version_requirements: !ruby/object:Gem::Requirement
81
+ requirements:
82
+ - - ">="
83
+ - !ruby/object:Gem::Version
84
+ version: '0'
85
+ - !ruby/object:Gem::Dependency
86
+ name: rubycritic
87
+ requirement: !ruby/object:Gem::Requirement
88
+ requirements:
89
+ - - ">="
90
+ - !ruby/object:Gem::Version
91
+ version: '0'
92
+ type: :development
93
+ prerelease: false
94
+ version_requirements: !ruby/object:Gem::Requirement
95
+ requirements:
96
+ - - ">="
69
97
  - !ruby/object:Gem::Version
70
98
  version: '0'
71
99
  description: Takes a stream to a spreadsheet file and produces an XML or CSV representation
@@ -76,8 +104,9 @@ extensions: []
76
104
  extra_rdoc_files:
77
105
  - README.rdoc
78
106
  files:
79
- - .ruby-gemspec
80
- - .ruby-version
107
+ - ".ruby-gemspec"
108
+ - ".ruby-version"
109
+ - ".travis.yml"
81
110
  - Gemfile
82
111
  - Gemfile.lock
83
112
  - LICENSE
@@ -87,18 +116,22 @@ files:
87
116
  - doc/schema-v1.xsd
88
117
  - examples/example.rb
89
118
  - jars/lib/dom4j-1.6.1.jar
90
- - jars/lib/poi-ooxml-3.9.jar
91
- - jars/lib/poi-ooxml-schemas-3.9.jar
92
- - jars/lib/rightfield-poi-3.9.jar
93
- - jars/lib/xmlbeans-2.3.0.jar
94
- - jars/simple-spreadsheet-extractor-0.13.1.jar
119
+ - jars/lib/log4j-1.2.17.jar
120
+ - jars/lib/poi-3.11.jar
121
+ - jars/lib/poi-ooxml-3.11.jar
122
+ - jars/lib/poi-ooxml-schemas-3.11.jar
123
+ - jars/lib/xmlbeans-2.6.0.jar
124
+ - jars/simple-spreadsheet-extractor-0.15.0.jar
95
125
  - lib/simple-spreadsheet-extractor.rb
126
+ - lib/sysmodb/extractor.rb
127
+ - lib/sysmodb/simple-spreadsheet-extractor.rb
96
128
  - simple-spreadsheet-extractor.gemspec
97
129
  - test/files/not-a-spreadsheet.xls
98
130
  - test/files/problem_with_dv.xls
99
131
  - test/files/test-csv-output1-trimmed.csv
100
132
  - test/files/test-csv-output1.csv
101
133
  - test/files/test-spreadsheet.xls
134
+ - test/files/test-spreadsheet.xlsx
102
135
  - test/test_extraction.rb
103
136
  homepage: http://github.com/myGrid/simple-spreadsheet-extractor-gem
104
137
  licenses: []
@@ -109,12 +142,12 @@ require_paths:
109
142
  - lib
110
143
  required_ruby_version: !ruby/object:Gem::Requirement
111
144
  requirements:
112
- - - ! '>='
145
+ - - ">="
113
146
  - !ruby/object:Gem::Version
114
147
  version: '0'
115
148
  required_rubygems_version: !ruby/object:Gem::Requirement
116
149
  requirements:
117
- - - ! '>='
150
+ - - ">="
118
151
  - !ruby/object:Gem::Version
119
152
  version: '0'
120
153
  requirements: []
Binary file
Binary file