see_as_vee 0.2.4 → 0.2.5
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 +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
|