fast_excel 0.1.7 → 0.2.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/Gemfile +10 -4
- data/Gemfile.lock +39 -16
- data/Makefile +1 -1
- data/README.md +60 -12
- data/Rakefile +10 -29
- data/benchmarks/1k_rows.rb +59 -0
- data/benchmarks/20k_rows.rb +26 -0
- data/benchmarks/init.rb +59 -0
- data/benchmarks/memory.rb +49 -0
- data/{example.rb → examples/example.rb} +0 -0
- data/{example_chart.rb → examples/example_chart.rb} +0 -0
- data/{example_image.rb → examples/example_image.rb} +0 -9
- data/fast_excel.gemspec +1 -1
- data/lib/fast_excel.rb +63 -7
- data/lib/fast_excel/binding.rb +663 -7321
- data/lib/fast_excel/binding/chart.rb +2666 -0
- data/lib/fast_excel/binding/format.rb +1177 -0
- data/lib/fast_excel/binding/workbook.rb +338 -0
- data/lib/fast_excel/binding/worksheet.rb +1515 -0
- data/test/default_format_test.rb +19 -0
- data/test/test_helper.rb +3 -3
- data/test/tmpfile_test.rb +23 -0
- metadata +15 -9
- data/.dockerignore +0 -1
- data/BUILD.md +0 -26
- data/build_alpine_linux.docker +0 -16
- data/build_centos_linux.docker +0 -13
@@ -0,0 +1,19 @@
|
|
1
|
+
require_relative 'test_helper'
|
2
|
+
|
3
|
+
describe "FastExcel default_format" do
|
4
|
+
|
5
|
+
it "should set default format values on init" do
|
6
|
+
workbook = FastExcel.open(default_format: {
|
7
|
+
font_size: 17,
|
8
|
+
font_family: "ArialFoo",
|
9
|
+
bold: true
|
10
|
+
})
|
11
|
+
|
12
|
+
#FastExcel.print_ffi_obj(workbook.default_format)
|
13
|
+
|
14
|
+
assert_equal("ArialFoo", workbook.default_format.font_family)
|
15
|
+
assert_equal(17, workbook.default_format.font_size)
|
16
|
+
assert_equal(1, workbook.default_format.bold)
|
17
|
+
end
|
18
|
+
|
19
|
+
end
|
data/test/test_helper.rb
CHANGED
@@ -1,10 +1,10 @@
|
|
1
|
-
Encoding.default_external = Encoding::UTF_8
|
2
|
-
Encoding.default_internal = Encoding::UTF_8
|
3
|
-
|
4
1
|
require 'bundler/setup'
|
5
2
|
require 'minitest/autorun'
|
6
3
|
require "minitest/reporters"
|
7
4
|
|
5
|
+
##Encoding.default_external = Encoding::UTF_8
|
6
|
+
##Encoding.default_internal = Encoding::UTF_8
|
7
|
+
|
8
8
|
require 'date'
|
9
9
|
|
10
10
|
Minitest::Reporters.use!(
|
@@ -0,0 +1,23 @@
|
|
1
|
+
require_relative 'test_helper'
|
2
|
+
|
3
|
+
describe "FastExcel" do
|
4
|
+
|
5
|
+
it "should create temporary file if filename is nil" do
|
6
|
+
workbook = FastExcel.open(constant_memory: true)
|
7
|
+
|
8
|
+
assert(workbook.tmp_file)
|
9
|
+
assert_match(/fast_excel.xslx$/, workbook.filename)
|
10
|
+
|
11
|
+
result = workbook.read_string
|
12
|
+
assert(result.size > 1000)
|
13
|
+
end
|
14
|
+
|
15
|
+
it "should close workbook and delete tmp file when read_string" do
|
16
|
+
workbook = FastExcel.open
|
17
|
+
workbook.read_string
|
18
|
+
|
19
|
+
refute(File.exist?(workbook.filename))
|
20
|
+
refute(workbook.is_open)
|
21
|
+
end
|
22
|
+
|
23
|
+
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: fast_excel
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.2.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Pavel Evstigneev
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2017-
|
11
|
+
date: 2017-04-23 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: ffi
|
@@ -38,23 +38,27 @@ extensions:
|
|
38
38
|
- extconf.rb
|
39
39
|
extra_rdoc_files: []
|
40
40
|
files:
|
41
|
-
- ".dockerignore"
|
42
41
|
- ".gitignore"
|
43
|
-
- BUILD.md
|
44
42
|
- Gemfile
|
45
43
|
- Gemfile.lock
|
46
44
|
- Makefile
|
47
45
|
- README.md
|
48
46
|
- Rakefile
|
49
|
-
-
|
50
|
-
-
|
51
|
-
-
|
52
|
-
-
|
53
|
-
-
|
47
|
+
- benchmarks/1k_rows.rb
|
48
|
+
- benchmarks/20k_rows.rb
|
49
|
+
- benchmarks/init.rb
|
50
|
+
- benchmarks/memory.rb
|
51
|
+
- examples/example.rb
|
52
|
+
- examples/example_chart.rb
|
53
|
+
- examples/example_image.rb
|
54
54
|
- extconf.rb
|
55
55
|
- fast_excel.gemspec
|
56
56
|
- lib/fast_excel.rb
|
57
57
|
- lib/fast_excel/binding.rb
|
58
|
+
- lib/fast_excel/binding/chart.rb
|
59
|
+
- lib/fast_excel/binding/format.rb
|
60
|
+
- lib/fast_excel/binding/workbook.rb
|
61
|
+
- lib/fast_excel/binding/worksheet.rb
|
58
62
|
- libxlsxwriter/.gitignore
|
59
63
|
- libxlsxwriter/.indent.pro
|
60
64
|
- libxlsxwriter/.travis.yml
|
@@ -138,7 +142,9 @@ files:
|
|
138
142
|
- libxlsxwriter/third_party/tmpfileplus/tmpfileplus.h
|
139
143
|
- libxlsxwriter/version.txt
|
140
144
|
- test/date_test.rb
|
145
|
+
- test/default_format_test.rb
|
141
146
|
- test/test_helper.rb
|
147
|
+
- test/tmpfile_test.rb
|
142
148
|
homepage: https://github.com/paxa/fast_excel
|
143
149
|
licenses:
|
144
150
|
- MIT
|
data/.dockerignore
DELETED
@@ -1 +0,0 @@
|
|
1
|
-
libxlsxwriter/.git
|
data/BUILD.md
DELETED
@@ -1,26 +0,0 @@
|
|
1
|
-
# Build
|
2
|
-
|
3
|
-
## On Mac
|
4
|
-
|
5
|
-
git clone https://github.com/jmcnamara/libxlsxwriter.git
|
6
|
-
cd libxlsxwriter
|
7
|
-
make
|
8
|
-
cd ..
|
9
|
-
cp libxlsxwriter/lib/libxlsxwriter.dylib ./binaries/libxlsxwriter-darwin.dylib
|
10
|
-
otool -L ./binaries/libxlsxwriter-darwin.dylib
|
11
|
-
#install_name_tool -change /usr/lib/libxlsxwriter.dylib @rpath/libxlsxwriter-darwin.dylib ./binaries/libxlsxwriter-darwin.dylib
|
12
|
-
|
13
|
-
|
14
|
-
## For Linux
|
15
|
-
|
16
|
-
docker build . -f build_alpine_linux.docker -t fast_excel_alpine
|
17
|
-
docker run -t fast_excel_alpine ls lib/libxlsxwriter.so
|
18
|
-
LAST_CONTAINER_ID=$(docker ps -a | grep fast_excel_alpine | head -1 | awk '{print $1;}')
|
19
|
-
docker cp $LAST_CONTAINER_ID:/srv/libxlsxwriter/lib/libxlsxwriter.so ./binaries/libxlsxwriter-alpine.so
|
20
|
-
docker rm $LAST_CONTAINER_ID
|
21
|
-
|
22
|
-
docker build . -f build_centos_linux.docker -t fast_excel_centos
|
23
|
-
docker run -t fast_excel_centos ls lib/libxlsxwriter.so
|
24
|
-
LAST_CONTAINER_ID=$(docker ps -a | grep fast_excel_centos | head -1 | awk '{print $1;}')
|
25
|
-
docker cp $LAST_CONTAINER_ID:/srv/libxlsxwriter/lib/libxlsxwriter.so ./binaries/libxlsxwriter-glibc.so
|
26
|
-
docker rm $LAST_CONTAINER_ID
|
data/build_alpine_linux.docker
DELETED
@@ -1,16 +0,0 @@
|
|
1
|
-
FROM alpine:latest
|
2
|
-
|
3
|
-
MAINTAINER Pavel Evstigneev <pavel.evst@gmail.com>
|
4
|
-
|
5
|
-
RUN \
|
6
|
-
apk update && apk upgrade && \
|
7
|
-
apk add zlib-dev make g++ && \
|
8
|
-
rm -rf /var/cache/apk/*
|
9
|
-
|
10
|
-
RUN mkdir -p /srv/libxlsxwriter
|
11
|
-
WORKDIR /srv/libxlsxwriter
|
12
|
-
|
13
|
-
COPY ./libxlsxwriter /srv/libxlsxwriter
|
14
|
-
|
15
|
-
RUN make clean
|
16
|
-
RUN make
|
data/build_centos_linux.docker
DELETED
@@ -1,13 +0,0 @@
|
|
1
|
-
FROM centos:latest
|
2
|
-
|
3
|
-
MAINTAINER Pavel Evstigneev <pavel.evst@gmail.com>
|
4
|
-
|
5
|
-
RUN yum -y install make gcc zlib-devel && yum clean all
|
6
|
-
|
7
|
-
RUN mkdir -p /srv/libxlsxwriter
|
8
|
-
WORKDIR /srv/libxlsxwriter
|
9
|
-
|
10
|
-
COPY ./libxlsxwriter /srv/libxlsxwriter
|
11
|
-
|
12
|
-
RUN make clean
|
13
|
-
RUN make
|