simple-spreadsheet 0.2.0 → 0.3.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.
- checksums.yaml +7 -0
- data/.travis.yml +2 -2
- data/Gemfile.lock +7 -7
- data/lib/simple-spreadsheet/classes/csv_extended.rb +1 -1
- data/lib/simple-spreadsheet/classes/csvt_extended.rb +14 -30
- data/lib/simple-spreadsheet/classes/csvx_extended.rb +14 -30
- data/lib/simple-spreadsheet/readers/openoffice_reader.rb +1 -1
- data/lib/simple-spreadsheet/version.rb +1 -1
- data/simple-spreadsheet.gemspec +1 -1
- metadata +21 -33
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: f55b6eaa1895bb557edef97fc830752cfaa2a49b
|
4
|
+
data.tar.gz: 83307559be3427157615f805ca80a35234e95de3
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: 9bf1a0acf9e7eacf8366e9d94eb12f78f1a97edd994125f5b50bc69ae871ded9e9f7625d022ea2eb384fd23bb36f5049f65476e6a33a876e346873d7599b631d
|
7
|
+
data.tar.gz: 3441d3459c81cf5856a338043509b098e9f8e185b5834ff90917ea8cf8f15de6e26c6e35f5ea0091ed619300b62823488f1d3700f137edafdf4ae6256312f09c
|
data/.travis.yml
CHANGED
data/Gemfile.lock
CHANGED
@@ -1,8 +1,8 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
simple-spreadsheet (0.1
|
5
|
-
roo (
|
4
|
+
simple-spreadsheet (0.3.1)
|
5
|
+
roo (>= 1.13)
|
6
6
|
rubyXL (= 1.2.5)
|
7
7
|
spreadsheet (= 0.6.5.9)
|
8
8
|
|
@@ -10,11 +10,11 @@ GEM
|
|
10
10
|
remote: http://rubygems.org/
|
11
11
|
specs:
|
12
12
|
diff-lcs (1.1.3)
|
13
|
-
mini_portile (0.
|
14
|
-
nokogiri (1.6.
|
15
|
-
mini_portile (~> 0.
|
13
|
+
mini_portile (0.6.1)
|
14
|
+
nokogiri (1.6.4.1)
|
15
|
+
mini_portile (~> 0.6.0)
|
16
16
|
rake (0.9.2.2)
|
17
|
-
roo (1.
|
17
|
+
roo (1.13.2)
|
18
18
|
nokogiri
|
19
19
|
rubyzip
|
20
20
|
spreadsheet (> 0.6.4)
|
@@ -28,7 +28,7 @@ GEM
|
|
28
28
|
rspec-mocks (2.6.0)
|
29
29
|
ruby-ole (1.2.11.7)
|
30
30
|
rubyXL (1.2.5)
|
31
|
-
rubyzip (
|
31
|
+
rubyzip (1.1.6)
|
32
32
|
spreadsheet (0.6.5.9)
|
33
33
|
ruby-ole (>= 1.0)
|
34
34
|
|
@@ -1,4 +1,4 @@
|
|
1
|
-
class CsvtExtended < Roo::
|
1
|
+
class CsvtExtended < Roo::CSV
|
2
2
|
|
3
3
|
def foreach(sheet = nil, &block)
|
4
4
|
index = 1
|
@@ -9,15 +9,14 @@ class CsvtExtended < Roo::Csv
|
|
9
9
|
end
|
10
10
|
|
11
11
|
def read_cells(sheet=nil)
|
12
|
-
sheet
|
13
|
-
|
14
|
-
@cell = {} unless @cell
|
12
|
+
sheet ||= @default_sheet
|
13
|
+
return if @cells_read[sheet]
|
15
14
|
@first_row[sheet] = 1
|
16
15
|
@last_row[sheet] = 0
|
17
16
|
@first_column[sheet] = 1
|
18
17
|
@last_column[sheet] = 1
|
19
18
|
rownum = 1
|
20
|
-
|
19
|
+
each_row csv_options.merge(col_sep: "\t") do |row|
|
21
20
|
row.each_with_index do |elem,i|
|
22
21
|
@cell[[rownum,i+1]] = cell_postprocessing rownum,i+1, elem
|
23
22
|
@cell_type[[rownum,i+1]] = celltype_class @cell[[rownum,i+1]]
|
@@ -30,41 +29,26 @@ class CsvtExtended < Roo::Csv
|
|
30
29
|
end
|
31
30
|
@cells_read[sheet] = true
|
32
31
|
#-- adjust @first_row if neccessary
|
33
|
-
|
34
|
-
|
35
|
-
@first_row[sheet] += 1
|
36
|
-
else
|
37
|
-
break
|
38
|
-
end
|
32
|
+
while !row(@first_row[sheet]).any? and @first_row[sheet] < @last_row[sheet]
|
33
|
+
@first_row[sheet] += 1
|
39
34
|
end
|
40
35
|
#-- adjust @last_row if neccessary
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
@last_row[sheet] -= 1
|
45
|
-
else
|
46
|
-
break
|
47
|
-
end
|
36
|
+
while !row(@last_row[sheet]).any? and @last_row[sheet] and
|
37
|
+
@last_row[sheet] > @first_row[sheet]
|
38
|
+
@last_row[sheet] -= 1
|
48
39
|
end
|
49
40
|
#-- adjust @first_column if neccessary
|
50
|
-
|
51
|
-
if !column(@first_column[sheet]).any? and
|
41
|
+
while !column(@first_column[sheet]).any? and
|
52
42
|
@first_column[sheet] and
|
53
43
|
@first_column[sheet] < @last_column[sheet]
|
54
|
-
|
55
|
-
else
|
56
|
-
break
|
57
|
-
end
|
44
|
+
@first_column[sheet] += 1
|
58
45
|
end
|
59
46
|
#-- adjust @last_column if neccessary
|
60
|
-
|
61
|
-
if !column(@last_column[sheet]).any? and
|
47
|
+
while !column(@last_column[sheet]).any? and
|
62
48
|
@last_column[sheet] and
|
63
49
|
@last_column[sheet] > @first_column[sheet]
|
64
|
-
|
65
|
-
else
|
66
|
-
break
|
67
|
-
end
|
50
|
+
@last_column[sheet] -= 1
|
68
51
|
end
|
69
52
|
end
|
53
|
+
|
70
54
|
end
|
@@ -1,4 +1,4 @@
|
|
1
|
-
class CsvxExtended < Roo::
|
1
|
+
class CsvxExtended < Roo::CSV
|
2
2
|
|
3
3
|
def foreach(sheet = nil, &block)
|
4
4
|
index = 1
|
@@ -9,15 +9,14 @@ class CsvxExtended < Roo::Csv
|
|
9
9
|
end
|
10
10
|
|
11
11
|
def read_cells(sheet=nil)
|
12
|
-
sheet
|
13
|
-
|
14
|
-
@cell = {} unless @cell
|
12
|
+
sheet ||= @default_sheet
|
13
|
+
return if @cells_read[sheet]
|
15
14
|
@first_row[sheet] = 1
|
16
15
|
@last_row[sheet] = 0
|
17
16
|
@first_column[sheet] = 1
|
18
17
|
@last_column[sheet] = 1
|
19
18
|
rownum = 1
|
20
|
-
|
19
|
+
each_row csv_options.merge(col_sep: ";") do |row|
|
21
20
|
row.each_with_index do |elem,i|
|
22
21
|
@cell[[rownum,i+1]] = cell_postprocessing rownum,i+1, elem
|
23
22
|
@cell_type[[rownum,i+1]] = celltype_class @cell[[rownum,i+1]]
|
@@ -30,41 +29,26 @@ class CsvxExtended < Roo::Csv
|
|
30
29
|
end
|
31
30
|
@cells_read[sheet] = true
|
32
31
|
#-- adjust @first_row if neccessary
|
33
|
-
|
34
|
-
|
35
|
-
@first_row[sheet] += 1
|
36
|
-
else
|
37
|
-
break
|
38
|
-
end
|
32
|
+
while !row(@first_row[sheet]).any? and @first_row[sheet] < @last_row[sheet]
|
33
|
+
@first_row[sheet] += 1
|
39
34
|
end
|
40
35
|
#-- adjust @last_row if neccessary
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
@last_row[sheet] -= 1
|
45
|
-
else
|
46
|
-
break
|
47
|
-
end
|
36
|
+
while !row(@last_row[sheet]).any? and @last_row[sheet] and
|
37
|
+
@last_row[sheet] > @first_row[sheet]
|
38
|
+
@last_row[sheet] -= 1
|
48
39
|
end
|
49
40
|
#-- adjust @first_column if neccessary
|
50
|
-
|
51
|
-
if !column(@first_column[sheet]).any? and
|
41
|
+
while !column(@first_column[sheet]).any? and
|
52
42
|
@first_column[sheet] and
|
53
43
|
@first_column[sheet] < @last_column[sheet]
|
54
|
-
|
55
|
-
else
|
56
|
-
break
|
57
|
-
end
|
44
|
+
@first_column[sheet] += 1
|
58
45
|
end
|
59
46
|
#-- adjust @last_column if neccessary
|
60
|
-
|
61
|
-
if !column(@last_column[sheet]).any? and
|
47
|
+
while !column(@last_column[sheet]).any? and
|
62
48
|
@last_column[sheet] and
|
63
49
|
@last_column[sheet] > @first_column[sheet]
|
64
|
-
|
65
|
-
else
|
66
|
-
break
|
67
|
-
end
|
50
|
+
@last_column[sheet] -= 1
|
68
51
|
end
|
69
52
|
end
|
53
|
+
|
70
54
|
end
|
data/simple-spreadsheet.gemspec
CHANGED
@@ -18,7 +18,7 @@ Gem::Specification.new do |gem|
|
|
18
18
|
# specify any dependencies here; for example:
|
19
19
|
gem.add_development_dependency "rspec", "~> 2.6.0"
|
20
20
|
gem.add_development_dependency "rake", "~> 0.9.2.2"
|
21
|
-
gem.add_runtime_dependency "roo", "1.
|
21
|
+
gem.add_runtime_dependency "roo", ">= 1.13"
|
22
22
|
gem.add_runtime_dependency "spreadsheet", "0.6.5.9"
|
23
23
|
gem.add_runtime_dependency "rubyXL", "1.2.5"
|
24
24
|
end
|
metadata
CHANGED
@@ -1,68 +1,60 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: simple-spreadsheet
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
5
|
-
prerelease:
|
4
|
+
version: 0.3.1
|
6
5
|
platform: ruby
|
7
6
|
authors:
|
8
7
|
- Andrea Mostosi
|
9
8
|
autorequire:
|
10
9
|
bindir: bin
|
11
10
|
cert_chain: []
|
12
|
-
date:
|
11
|
+
date: 2014-11-19 00:00:00.000000000 Z
|
13
12
|
dependencies:
|
14
13
|
- !ruby/object:Gem::Dependency
|
15
14
|
name: rspec
|
16
15
|
requirement: !ruby/object:Gem::Requirement
|
17
|
-
none: false
|
18
16
|
requirements:
|
19
|
-
- - ~>
|
17
|
+
- - "~>"
|
20
18
|
- !ruby/object:Gem::Version
|
21
19
|
version: 2.6.0
|
22
20
|
type: :development
|
23
21
|
prerelease: false
|
24
22
|
version_requirements: !ruby/object:Gem::Requirement
|
25
|
-
none: false
|
26
23
|
requirements:
|
27
|
-
- - ~>
|
24
|
+
- - "~>"
|
28
25
|
- !ruby/object:Gem::Version
|
29
26
|
version: 2.6.0
|
30
27
|
- !ruby/object:Gem::Dependency
|
31
28
|
name: rake
|
32
29
|
requirement: !ruby/object:Gem::Requirement
|
33
|
-
none: false
|
34
30
|
requirements:
|
35
|
-
- - ~>
|
31
|
+
- - "~>"
|
36
32
|
- !ruby/object:Gem::Version
|
37
33
|
version: 0.9.2.2
|
38
34
|
type: :development
|
39
35
|
prerelease: false
|
40
36
|
version_requirements: !ruby/object:Gem::Requirement
|
41
|
-
none: false
|
42
37
|
requirements:
|
43
|
-
- - ~>
|
38
|
+
- - "~>"
|
44
39
|
- !ruby/object:Gem::Version
|
45
40
|
version: 0.9.2.2
|
46
41
|
- !ruby/object:Gem::Dependency
|
47
42
|
name: roo
|
48
43
|
requirement: !ruby/object:Gem::Requirement
|
49
|
-
none: false
|
50
44
|
requirements:
|
51
|
-
- -
|
45
|
+
- - ">="
|
52
46
|
- !ruby/object:Gem::Version
|
53
|
-
version: 1.
|
47
|
+
version: '1.13'
|
54
48
|
type: :runtime
|
55
49
|
prerelease: false
|
56
50
|
version_requirements: !ruby/object:Gem::Requirement
|
57
|
-
none: false
|
58
51
|
requirements:
|
59
|
-
- -
|
52
|
+
- - ">="
|
60
53
|
- !ruby/object:Gem::Version
|
61
|
-
version: 1.
|
54
|
+
version: '1.13'
|
62
55
|
- !ruby/object:Gem::Dependency
|
63
56
|
name: spreadsheet
|
64
57
|
requirement: !ruby/object:Gem::Requirement
|
65
|
-
none: false
|
66
58
|
requirements:
|
67
59
|
- - '='
|
68
60
|
- !ruby/object:Gem::Version
|
@@ -70,7 +62,6 @@ dependencies:
|
|
70
62
|
type: :runtime
|
71
63
|
prerelease: false
|
72
64
|
version_requirements: !ruby/object:Gem::Requirement
|
73
|
-
none: false
|
74
65
|
requirements:
|
75
66
|
- - '='
|
76
67
|
- !ruby/object:Gem::Version
|
@@ -78,7 +69,6 @@ dependencies:
|
|
78
69
|
- !ruby/object:Gem::Dependency
|
79
70
|
name: rubyXL
|
80
71
|
requirement: !ruby/object:Gem::Requirement
|
81
|
-
none: false
|
82
72
|
requirements:
|
83
73
|
- - '='
|
84
74
|
- !ruby/object:Gem::Version
|
@@ -86,23 +76,22 @@ dependencies:
|
|
86
76
|
type: :runtime
|
87
77
|
prerelease: false
|
88
78
|
version_requirements: !ruby/object:Gem::Requirement
|
89
|
-
none: false
|
90
79
|
requirements:
|
91
80
|
- - '='
|
92
81
|
- !ruby/object:Gem::Version
|
93
82
|
version: 1.2.5
|
94
|
-
description:
|
95
|
-
|
96
|
-
|
83
|
+
description: 'Simple spreadsheet reader for common formats: Excel (.xls, .xlsx), Open-office
|
84
|
+
(.ods) and some CSV (standard, excel, tab separated). Future versions: writing and
|
85
|
+
more formats.'
|
97
86
|
email:
|
98
87
|
- andrea.mostosi@zenkay.net
|
99
88
|
executables: []
|
100
89
|
extensions: []
|
101
90
|
extra_rdoc_files: []
|
102
91
|
files:
|
103
|
-
- .gitignore
|
104
|
-
- .rspec
|
105
|
-
- .travis.yml
|
92
|
+
- ".gitignore"
|
93
|
+
- ".rspec"
|
94
|
+
- ".travis.yml"
|
106
95
|
- Gemfile
|
107
96
|
- Gemfile.lock
|
108
97
|
- README.md
|
@@ -155,27 +144,26 @@ files:
|
|
155
144
|
- spec/spec_helper.rb
|
156
145
|
homepage: https://github.com/zenkay/simple-spreadsheet
|
157
146
|
licenses: []
|
147
|
+
metadata: {}
|
158
148
|
post_install_message:
|
159
149
|
rdoc_options: []
|
160
150
|
require_paths:
|
161
151
|
- lib
|
162
152
|
required_ruby_version: !ruby/object:Gem::Requirement
|
163
|
-
none: false
|
164
153
|
requirements:
|
165
|
-
- -
|
154
|
+
- - ">="
|
166
155
|
- !ruby/object:Gem::Version
|
167
156
|
version: '0'
|
168
157
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
169
|
-
none: false
|
170
158
|
requirements:
|
171
|
-
- -
|
159
|
+
- - ">="
|
172
160
|
- !ruby/object:Gem::Version
|
173
161
|
version: '0'
|
174
162
|
requirements: []
|
175
163
|
rubyforge_project:
|
176
|
-
rubygems_version:
|
164
|
+
rubygems_version: 2.2.2
|
177
165
|
signing_key:
|
178
|
-
specification_version:
|
166
|
+
specification_version: 4
|
179
167
|
summary: Read and write most common spreadsheet format
|
180
168
|
test_files:
|
181
169
|
- spec/fixtures/file.csv
|