see_as_vee 0.2.4 → 0.2.5
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.rubocop.yml +6 -1
- data/.travis.yml +5 -2
- data/Gemfile +5 -1
- data/README.md +21 -0
- data/lib/see_as_vee/producers/hashes.rb +4 -4
- data/lib/see_as_vee/sheet.rb +7 -7
- data/lib/see_as_vee/version.rb +1 -1
- data/lib/see_as_vee.rb +4 -4
- data/see_as_vee.gemspec +3 -0
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 1029e8e97bc4e8812d7c19928722db03825a1122
|
4
|
+
data.tar.gz: 32200f35545b5a8f2ed9c64cc46c81dd0bc4c395
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 3cb227e8a1ca4d1eadff73ffbe8ef4fcd9c70575df8cc323926948c0019a206a2a4ed04d86dcdb477569596b2cba37d08ae12e58b7c2de2d45018f6c1489f73f
|
7
|
+
data.tar.gz: 578d65fcc74d7ae0db7cfff090301fd52bf87940ae5fe747396b384941c4237730679ba04ca4ed3c8f74188abdbd91500ae9223ef83c381418f86abcdd6502b2
|
data/.rubocop.yml
CHANGED
data/.travis.yml
CHANGED
@@ -1,9 +1,12 @@
|
|
1
1
|
language: ruby
|
2
2
|
rvm:
|
3
|
-
- 2.
|
4
|
-
- 2.
|
3
|
+
- 2.2.2
|
4
|
+
- 2.3.1
|
5
5
|
before_install: gem install bundler -v 1.10.6
|
6
6
|
|
7
7
|
addons:
|
8
8
|
code_climate:
|
9
9
|
repo_token: 2e5471e8b02ecddecb5452adf02b990d8203698ab6ae919b40ce179f4a8a926a
|
10
|
+
|
11
|
+
after_script:
|
12
|
+
- codeclimate-test-reporter < lcov.info
|
data/Gemfile
CHANGED
data/README.md
CHANGED
@@ -35,6 +35,8 @@ Or install it yourself as:
|
|
35
35
|
|
36
36
|
## Usage
|
37
37
|
|
38
|
+
### Load and validate
|
39
|
+
|
38
40
|
```ruby
|
39
41
|
sheet = SeeAsVee.harvest(
|
40
42
|
'spec/fixtures/velocity.xlsx', # file exists ⇒ will be loaded
|
@@ -55,6 +57,25 @@ Or install it yourself as:
|
|
55
57
|
expect(xlsx.length > 0).to eq true
|
56
58
|
```
|
57
59
|
|
60
|
+
### Produce
|
61
|
+
|
62
|
+
```ruby
|
63
|
+
▶ require 'see_as_vee'
|
64
|
+
#⇒ true
|
65
|
+
▶ SeeAsVee.csv(
|
66
|
+
▷ [{name: 'Aleksei', value: 42}, {name: 'John', value: 3.14}], col_sep: "\t"
|
67
|
+
▷ )
|
68
|
+
#⇒ #<File:/tmp/am/see_as_vee20161109-6031-6he5m7.csv>
|
69
|
+
# -rw------- 1 am am 32 nov 9 07:18 /tmp/am/see_as_vee20161109-6031-6he5m7.csv
|
70
|
+
▶ .cat /tmp/am/see_as_vee20161109-6031-6he5m7.csv
|
71
|
+
#⇒ name value
|
72
|
+
# Aleksei 42
|
73
|
+
# John 3.14
|
74
|
+
```
|
75
|
+
|
76
|
+
## Changelog
|
77
|
+
|
78
|
+
### `0.2.5` support for CSV options
|
58
79
|
|
59
80
|
## Development
|
60
81
|
|
@@ -64,13 +64,13 @@ module SeeAsVee
|
|
64
64
|
end
|
65
65
|
end
|
66
66
|
|
67
|
-
def csv *args
|
68
|
-
result, = Hashes.new(*args).to_sheet.produce
|
67
|
+
def csv *args, **params
|
68
|
+
result, = Hashes.new(*args).to_sheet.produce csv: true, xlsx: false, **params
|
69
69
|
result
|
70
70
|
end
|
71
71
|
|
72
|
-
def xlsx *args
|
73
|
-
_, result = Hashes.new(*args).to_sheet.produce csv: false, xlsx: true
|
72
|
+
def xlsx *args, **params
|
73
|
+
_, result = Hashes.new(*args).to_sheet.produce csv: false, xlsx: true, **params
|
74
74
|
result
|
75
75
|
end
|
76
76
|
end
|
data/lib/see_as_vee/sheet.rb
CHANGED
@@ -8,7 +8,7 @@ module SeeAsVee
|
|
8
8
|
fg_color: "FFFFFFFF",
|
9
9
|
sz: 14,
|
10
10
|
border: { style: :thin, color: "FFFF0000" }
|
11
|
-
}
|
11
|
+
}.freeze
|
12
12
|
|
13
13
|
attr_reader :rows, :formatters, :checkers
|
14
14
|
def initialize whatever, formatters: {}, checkers: {}
|
@@ -43,8 +43,8 @@ module SeeAsVee
|
|
43
43
|
end
|
44
44
|
end
|
45
45
|
|
46
|
-
def produce csv: true, xlsx: nil
|
47
|
-
[csv && produce_csv, xlsx && produce_xlsx]
|
46
|
+
def produce csv: true, xlsx: nil, **params
|
47
|
+
[csv && produce_csv(**params), xlsx && produce_xlsx(**params)]
|
48
48
|
end
|
49
49
|
|
50
50
|
private
|
@@ -53,18 +53,18 @@ module SeeAsVee
|
|
53
53
|
str.to_s =~ /\A#{CELL_ERROR_MARKER}/
|
54
54
|
end
|
55
55
|
|
56
|
-
def produce_csv
|
56
|
+
def produce_csv **params
|
57
57
|
Tempfile.new(['see_as_vee', '.csv']).tap do |f|
|
58
|
-
CSV.open(f.path, "wb") do |content|
|
58
|
+
CSV.open(f.path, "wb", params) do |content|
|
59
59
|
@rows.each { |row| content << row }
|
60
60
|
end unless @rows.empty?
|
61
61
|
end
|
62
62
|
end
|
63
63
|
|
64
|
-
def produce_xlsx
|
64
|
+
def produce_xlsx **_params
|
65
65
|
Tempfile.new(['see_as_vee', '.xlsx']).tap do |f|
|
66
66
|
Axlsx::Package.new do |p|
|
67
|
-
red = p.workbook.styles.add_style(**CELL_ERROR_STYLE)
|
67
|
+
red = p.workbook.styles.add_style(**CELL_ERROR_STYLE.dup)
|
68
68
|
p.workbook.add_worksheet(name: 'Processing errors shown in red') do |sheet|
|
69
69
|
@rows.each { |row| sheet.add_row row, style: row.map { |cell| malformed?(cell) ? red : nil } }
|
70
70
|
end
|
data/lib/see_as_vee/version.rb
CHANGED
data/lib/see_as_vee.rb
CHANGED
@@ -26,13 +26,13 @@ module SeeAsVee
|
|
26
26
|
end
|
27
27
|
module_function :harvest
|
28
28
|
|
29
|
-
def csv *args
|
30
|
-
SeeAsVee::Producers::Hashes.csv(*args)
|
29
|
+
def csv *args, **params
|
30
|
+
SeeAsVee::Producers::Hashes.csv(*args, **params)
|
31
31
|
end
|
32
32
|
module_function :csv
|
33
33
|
|
34
|
-
def xlsx *args
|
35
|
-
SeeAsVee::Producers::Hashes.xlsx(*args)
|
34
|
+
def xlsx *args, **params
|
35
|
+
SeeAsVee::Producers::Hashes.xlsx(*args, **params)
|
36
36
|
end
|
37
37
|
module_function :xlsx
|
38
38
|
end
|
data/see_as_vee.gemspec
CHANGED
@@ -35,4 +35,7 @@ Gem::Specification.new do |spec|
|
|
35
35
|
spec.add_development_dependency 'rspec'
|
36
36
|
spec.add_development_dependency 'pry'
|
37
37
|
spec.add_development_dependency 'awesome_print'
|
38
|
+
|
39
|
+
# spec.add_development_dependency 'codeclimate-test-reporter'
|
40
|
+
# spec.add_development_dependency 'simplecov', '~> 0.12.0'
|
38
41
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: see_as_vee
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.2.
|
4
|
+
version: 0.2.5
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Aleksei Matiushkin
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2016-11-
|
11
|
+
date: 2016-11-09 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: simple_xlsx_reader
|