osheet 1.0.0.rc.1 → 1.0.0.rc.2
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.
- data/Gemfile +1 -0
- data/Gemfile.lock +2 -11
- data/README.rdoc +5 -2
- data/Rakefile +0 -41
- data/lib/osheet/version.rb +1 -1
- data/lib/osheet.rb +1 -1
- data/osheet.gemspec +0 -4
- data/test/format/general_test.rb +1 -1
- data/test/helper.rb +0 -8
- metadata +7 -97
- data/bench/bench_runner.rb +0 -91
- data/bench/profiler.rb +0 -6
- data/bench/profiler_1000.xls +0 -17015
- data/bench/profiler_runner.rb +0 -40
- data/examples/basic.rb +0 -77
- data/examples/basic.xls +0 -2
- data/examples/basic_with_templates.rb +0 -87
- data/examples/basic_with_templates.xls +0 -93
- data/examples/formats.rb +0 -370
- data/examples/formats.xls +0 -768
- data/examples/formula.rb +0 -43
- data/examples/formula.xls +0 -36
- data/examples/styles.rb +0 -255
- data/examples/styles.xls +0 -343
- data/examples/trivial.rb +0 -25
- data/examples/trivial.xls +0 -18
- data/lib/osheet/xmlss_writer/style_cache.rb +0 -64
- data/lib/osheet/xmlss_writer/style_settings.rb +0 -148
- data/lib/osheet/xmlss_writer.rb +0 -143
- data/test/xmlss_writer/api_test.rb +0 -139
- data/test/xmlss_writer/style_cache_test.rb +0 -65
- data/test/xmlss_writer/style_settings_test.rb +0 -263
- data/test/xmlss_writer/styles_test.rb +0 -334
- data/test/xmlss_writer_test.rb +0 -91
data/Gemfile
CHANGED
data/Gemfile.lock
CHANGED
@@ -1,9 +1,8 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
osheet (1.0.0.rc.
|
4
|
+
osheet (1.0.0.rc.2)
|
5
5
|
enumeration (~> 1.3)
|
6
|
-
xmlss (~> 1.0.0.rc)
|
7
6
|
|
8
7
|
GEM
|
9
8
|
remote: http://rubygems.org/
|
@@ -16,21 +15,13 @@ GEM
|
|
16
15
|
undies (~> 2.0)
|
17
16
|
enumeration (1.3.1)
|
18
17
|
rake (0.9.2.2)
|
19
|
-
ruby-prof (0.10.8)
|
20
18
|
undies (2.2.1)
|
21
|
-
whysoslow (0.0.2)
|
22
|
-
ansi (~> 1.4)
|
23
|
-
xmlss (1.0.0.rc.1)
|
24
|
-
enumeration (~> 1.3)
|
25
|
-
undies (~> 2.2.1)
|
26
19
|
|
27
20
|
PLATFORMS
|
28
21
|
ruby
|
29
22
|
|
30
23
|
DEPENDENCIES
|
31
24
|
assert (~> 0.3)
|
32
|
-
bundler (~> 1.
|
25
|
+
bundler (~> 1.1)
|
33
26
|
osheet!
|
34
27
|
rake (~> 0.9.2)
|
35
|
-
ruby-prof
|
36
|
-
whysoslow (~> 0.0)
|
data/README.rdoc
CHANGED
@@ -10,7 +10,9 @@ A DSL for specifying and generating spreadsheets using Ruby.
|
|
10
10
|
|
11
11
|
== Basic Example
|
12
12
|
|
13
|
-
|
13
|
+
This example uses the Xmlss writer provided by Osheet::Xmlss (https://github.com/kellyredding/osheet-xmlss).
|
14
|
+
|
15
|
+
require 'osheet/xmlss'
|
14
16
|
|
15
17
|
fields = ['Sex', 'Age', 'Height', 'Weight']
|
16
18
|
data = {
|
@@ -20,8 +22,9 @@ A DSL for specifying and generating spreadsheets using Ruby.
|
|
20
22
|
}
|
21
23
|
|
22
24
|
# this will dump the above data to a single-sheet workbook w/ no styles
|
25
|
+
# - this example is using the Xmlss writer (https://github.com/kellyredding/xmlss)
|
23
26
|
|
24
|
-
Osheet::Workbook.new {
|
27
|
+
Osheet::Workbook.new(Osheet::XmlssWriter.new) {
|
25
28
|
title "basic"
|
26
29
|
|
27
30
|
template(:column, :data) { |field, index|
|
data/Rakefile
CHANGED
@@ -5,44 +5,3 @@ require 'bundler'
|
|
5
5
|
Bundler::GemHelper.install_tasks
|
6
6
|
|
7
7
|
task :default => :build
|
8
|
-
|
9
|
-
namespace :bench do
|
10
|
-
|
11
|
-
desc "Run the bench script."
|
12
|
-
task :run do
|
13
|
-
require 'bench/bench_runner'
|
14
|
-
OsheetBenchRunner.new
|
15
|
-
end
|
16
|
-
|
17
|
-
desc "Run the profiler on 1000 rows."
|
18
|
-
task :profiler do
|
19
|
-
require 'bench/profiler_runner'
|
20
|
-
runner = OsheetProfilerRunner.new(1000)
|
21
|
-
runner.print_flat(STDOUT, :min_percent => 3)
|
22
|
-
end
|
23
|
-
|
24
|
-
desc "Run the example workbook builds."
|
25
|
-
task :examples do
|
26
|
-
require 'examples/trivial'
|
27
|
-
require 'examples/basic'
|
28
|
-
require 'examples/basic_with_templates'
|
29
|
-
require 'examples/formats'
|
30
|
-
require 'examples/formula'
|
31
|
-
require 'examples/styles'
|
32
|
-
end
|
33
|
-
|
34
|
-
desc "Run all the tests, then the example builds, then the profiler."
|
35
|
-
task :all do
|
36
|
-
Rake::Task['test'].invoke
|
37
|
-
Rake::Task['bench:run'].invoke
|
38
|
-
Rake::Task['bench:profiler'].invoke
|
39
|
-
Rake::Task['bench:examples'].invoke
|
40
|
-
end
|
41
|
-
|
42
|
-
|
43
|
-
end
|
44
|
-
|
45
|
-
task :bench do
|
46
|
-
Rake::Task['bench:run'].invoke
|
47
|
-
end
|
48
|
-
|
data/lib/osheet/version.rb
CHANGED
data/lib/osheet.rb
CHANGED
data/osheet.gemspec
CHANGED
@@ -17,12 +17,8 @@ Gem::Specification.new do |s|
|
|
17
17
|
s.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
|
18
18
|
s.require_paths = ["lib"]
|
19
19
|
|
20
|
-
s.add_development_dependency("bundler", ["~> 1.0"])
|
21
20
|
s.add_development_dependency("assert", ["~> 0.3"])
|
22
|
-
s.add_development_dependency("whysoslow", ["~> 0.0"])
|
23
|
-
s.add_development_dependency("ruby-prof")
|
24
21
|
|
25
22
|
s.add_dependency("enumeration", ["~> 1.3"])
|
26
|
-
s.add_dependency("xmlss", ["~> 1.0.0.rc"])
|
27
23
|
|
28
24
|
end
|
data/test/format/general_test.rb
CHANGED
data/test/helper.rb
CHANGED
@@ -5,14 +5,6 @@ $LOAD_PATH.unshift(File.expand_path("../..", __FILE__))
|
|
5
5
|
|
6
6
|
class Assert::Context
|
7
7
|
|
8
|
-
def xmlss_style_markup(writer)
|
9
|
-
Xmlss::Workbook.writer(writer.xmlss_workbook).styles_markup.flush.to_s
|
10
|
-
end
|
11
|
-
|
12
|
-
def xmlss_element_markup(writer)
|
13
|
-
Xmlss::Workbook.writer(writer.xmlss_workbook).worksheets_markup.flush.to_s
|
14
|
-
end
|
15
|
-
|
16
8
|
# Macros
|
17
9
|
|
18
10
|
def self.be_a_meta_element(*args)
|
metadata
CHANGED
@@ -1,15 +1,15 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: osheet
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
4
|
+
hash: 15424049
|
5
5
|
prerelease: 6
|
6
6
|
segments:
|
7
7
|
- 1
|
8
8
|
- 0
|
9
9
|
- 0
|
10
10
|
- rc
|
11
|
-
-
|
12
|
-
version: 1.0.0.rc.
|
11
|
+
- 2
|
12
|
+
version: 1.0.0.rc.2
|
13
13
|
platform: ruby
|
14
14
|
authors:
|
15
15
|
- Kelly Redding
|
@@ -17,26 +17,11 @@ autorequire:
|
|
17
17
|
bindir: bin
|
18
18
|
cert_chain: []
|
19
19
|
|
20
|
-
date: 2012-03-
|
20
|
+
date: 2012-03-20 00:00:00 Z
|
21
21
|
dependencies:
|
22
22
|
- !ruby/object:Gem::Dependency
|
23
23
|
type: :development
|
24
24
|
requirement: &id001 !ruby/object:Gem::Requirement
|
25
|
-
none: false
|
26
|
-
requirements:
|
27
|
-
- - ~>
|
28
|
-
- !ruby/object:Gem::Version
|
29
|
-
hash: 15
|
30
|
-
segments:
|
31
|
-
- 1
|
32
|
-
- 0
|
33
|
-
version: "1.0"
|
34
|
-
name: bundler
|
35
|
-
version_requirements: *id001
|
36
|
-
prerelease: false
|
37
|
-
- !ruby/object:Gem::Dependency
|
38
|
-
type: :development
|
39
|
-
requirement: &id002 !ruby/object:Gem::Requirement
|
40
25
|
none: false
|
41
26
|
requirements:
|
42
27
|
- - ~>
|
@@ -47,40 +32,11 @@ dependencies:
|
|
47
32
|
- 3
|
48
33
|
version: "0.3"
|
49
34
|
name: assert
|
50
|
-
version_requirements: *
|
51
|
-
prerelease: false
|
52
|
-
- !ruby/object:Gem::Dependency
|
53
|
-
type: :development
|
54
|
-
requirement: &id003 !ruby/object:Gem::Requirement
|
55
|
-
none: false
|
56
|
-
requirements:
|
57
|
-
- - ~>
|
58
|
-
- !ruby/object:Gem::Version
|
59
|
-
hash: 11
|
60
|
-
segments:
|
61
|
-
- 0
|
62
|
-
- 0
|
63
|
-
version: "0.0"
|
64
|
-
name: whysoslow
|
65
|
-
version_requirements: *id003
|
66
|
-
prerelease: false
|
67
|
-
- !ruby/object:Gem::Dependency
|
68
|
-
type: :development
|
69
|
-
requirement: &id004 !ruby/object:Gem::Requirement
|
70
|
-
none: false
|
71
|
-
requirements:
|
72
|
-
- - ">="
|
73
|
-
- !ruby/object:Gem::Version
|
74
|
-
hash: 3
|
75
|
-
segments:
|
76
|
-
- 0
|
77
|
-
version: "0"
|
78
|
-
name: ruby-prof
|
79
|
-
version_requirements: *id004
|
35
|
+
version_requirements: *id001
|
80
36
|
prerelease: false
|
81
37
|
- !ruby/object:Gem::Dependency
|
82
38
|
type: :runtime
|
83
|
-
requirement: &
|
39
|
+
requirement: &id002 !ruby/object:Gem::Requirement
|
84
40
|
none: false
|
85
41
|
requirements:
|
86
42
|
- - ~>
|
@@ -91,24 +47,7 @@ dependencies:
|
|
91
47
|
- 3
|
92
48
|
version: "1.3"
|
93
49
|
name: enumeration
|
94
|
-
version_requirements: *
|
95
|
-
prerelease: false
|
96
|
-
- !ruby/object:Gem::Dependency
|
97
|
-
type: :runtime
|
98
|
-
requirement: &id006 !ruby/object:Gem::Requirement
|
99
|
-
none: false
|
100
|
-
requirements:
|
101
|
-
- - ~>
|
102
|
-
- !ruby/object:Gem::Version
|
103
|
-
hash: 7712010
|
104
|
-
segments:
|
105
|
-
- 1
|
106
|
-
- 0
|
107
|
-
- 0
|
108
|
-
- rc
|
109
|
-
version: 1.0.0.rc
|
110
|
-
name: xmlss
|
111
|
-
version_requirements: *id006
|
50
|
+
version_requirements: *id002
|
112
51
|
prerelease: false
|
113
52
|
description: A DSL for specifying and generating spreadsheets using Ruby
|
114
53
|
email:
|
@@ -125,22 +64,6 @@ files:
|
|
125
64
|
- Gemfile.lock
|
126
65
|
- README.rdoc
|
127
66
|
- Rakefile
|
128
|
-
- bench/bench_runner.rb
|
129
|
-
- bench/profiler.rb
|
130
|
-
- bench/profiler_1000.xls
|
131
|
-
- bench/profiler_runner.rb
|
132
|
-
- examples/basic.rb
|
133
|
-
- examples/basic.xls
|
134
|
-
- examples/basic_with_templates.rb
|
135
|
-
- examples/basic_with_templates.xls
|
136
|
-
- examples/formats.rb
|
137
|
-
- examples/formats.xls
|
138
|
-
- examples/formula.rb
|
139
|
-
- examples/formula.xls
|
140
|
-
- examples/styles.rb
|
141
|
-
- examples/styles.xls
|
142
|
-
- examples/trivial.rb
|
143
|
-
- examples/trivial.xls
|
144
67
|
- lib/osheet.rb
|
145
68
|
- lib/osheet/cell.rb
|
146
69
|
- lib/osheet/column.rb
|
@@ -169,9 +92,6 @@ files:
|
|
169
92
|
- lib/osheet/workbook_api.rb
|
170
93
|
- lib/osheet/workbook_element.rb
|
171
94
|
- lib/osheet/worksheet.rb
|
172
|
-
- lib/osheet/xmlss_writer.rb
|
173
|
-
- lib/osheet/xmlss_writer/style_cache.rb
|
174
|
-
- lib/osheet/xmlss_writer/style_settings.rb
|
175
95
|
- osheet.gemspec
|
176
96
|
- test/cell_test.rb
|
177
97
|
- test/column_test.rb
|
@@ -199,11 +119,6 @@ files:
|
|
199
119
|
- test/workbook_element_test.rb
|
200
120
|
- test/workbook_test.rb
|
201
121
|
- test/worksheet_test.rb
|
202
|
-
- test/xmlss_writer/api_test.rb
|
203
|
-
- test/xmlss_writer/style_cache_test.rb
|
204
|
-
- test/xmlss_writer/style_settings_test.rb
|
205
|
-
- test/xmlss_writer/styles_test.rb
|
206
|
-
- test/xmlss_writer_test.rb
|
207
122
|
homepage: http://github.com/kellyredding/osheet
|
208
123
|
licenses: []
|
209
124
|
|
@@ -266,8 +181,3 @@ test_files:
|
|
266
181
|
- test/workbook_element_test.rb
|
267
182
|
- test/workbook_test.rb
|
268
183
|
- test/worksheet_test.rb
|
269
|
-
- test/xmlss_writer/api_test.rb
|
270
|
-
- test/xmlss_writer/style_cache_test.rb
|
271
|
-
- test/xmlss_writer/style_settings_test.rb
|
272
|
-
- test/xmlss_writer/styles_test.rb
|
273
|
-
- test/xmlss_writer_test.rb
|
data/bench/bench_runner.rb
DELETED
@@ -1,91 +0,0 @@
|
|
1
|
-
require 'whysoslow'
|
2
|
-
require 'stringio'
|
3
|
-
|
4
|
-
require 'osheet'
|
5
|
-
|
6
|
-
class OsheetBenchResults
|
7
|
-
|
8
|
-
def initialize(row_count)
|
9
|
-
@row_count = row_count
|
10
|
-
@printer = Whysoslow::DefaultPrinter.new({
|
11
|
-
:title => "#{@row_count} rows",
|
12
|
-
:verbose => true
|
13
|
-
})
|
14
|
-
@runner = Whysoslow::Runner.new(@printer)
|
15
|
-
end
|
16
|
-
|
17
|
-
def run
|
18
|
-
@runner.run do
|
19
|
-
data_values = {
|
20
|
-
:number => 1,
|
21
|
-
:text => 'text',
|
22
|
-
:currency => 123.45,
|
23
|
-
:text => "<>&'\"/",
|
24
|
-
:currency => 45.23
|
25
|
-
}
|
26
|
-
|
27
|
-
outstream = StringIO.new(out = "")
|
28
|
-
outstream << Osheet::Workbook.new(Osheet::XmlssWriter.new(:pp => 2), {
|
29
|
-
:bench_row_count => @row_count,
|
30
|
-
:runner => @runner
|
31
|
-
}) {
|
32
|
-
title "bench"
|
33
|
-
|
34
|
-
template(:row, :header) {
|
35
|
-
columns.each do |column|
|
36
|
-
cell {
|
37
|
-
data column.meta[:label]
|
38
|
-
}
|
39
|
-
end
|
40
|
-
}
|
41
|
-
|
42
|
-
template(:row, :data) { |values|
|
43
|
-
columns.each do |col|
|
44
|
-
cell {
|
45
|
-
data values[col.meta[:label]]
|
46
|
-
format col.meta[:label]
|
47
|
-
}
|
48
|
-
end
|
49
|
-
}
|
50
|
-
|
51
|
-
worksheet {
|
52
|
-
name "bench results"
|
53
|
-
|
54
|
-
data_values.keys.each do |label|
|
55
|
-
column {
|
56
|
-
width 200
|
57
|
-
meta(:label => label)
|
58
|
-
}
|
59
|
-
end
|
60
|
-
|
61
|
-
row :header
|
62
|
-
|
63
|
-
10.times do |i|
|
64
|
-
(bench_row_count / 10).times do
|
65
|
-
row :data, data_values
|
66
|
-
end
|
67
|
-
runner.snapshot("#{((i+1)*10).to_s.rjust(3)}%")
|
68
|
-
end
|
69
|
-
}
|
70
|
-
}.to_data
|
71
|
-
end
|
72
|
-
end
|
73
|
-
|
74
|
-
end
|
75
|
-
|
76
|
-
class OsheetBenchRunner
|
77
|
-
|
78
|
-
ROWS = [10, 100, 1000, 10000]#, 30000]
|
79
|
-
|
80
|
-
def initialize
|
81
|
-
puts "Benchmark Results:"
|
82
|
-
puts
|
83
|
-
ROWS.each do |size|
|
84
|
-
OsheetBenchResults.new(size).run
|
85
|
-
puts
|
86
|
-
end
|
87
|
-
puts
|
88
|
-
end
|
89
|
-
|
90
|
-
end
|
91
|
-
|