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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 529772ecb2b914387975a2eb9e3db531dc46fc94
4
- data.tar.gz: 48ea69cda5a0c08c466326fe91a8f9edbb4f4eb4
3
+ metadata.gz: 1029e8e97bc4e8812d7c19928722db03825a1122
4
+ data.tar.gz: 32200f35545b5a8f2ed9c64cc46c81dd0bc4c395
5
5
  SHA512:
6
- metadata.gz: c037c08d99e6bc9b1da15fd006ba53ff24671b3e6880e6abc66b8c12fd23bd1b2a16b6043e548d404d4df226f8df600bcf887ae1fdc75c3255036bdebaadaca1
7
- data.tar.gz: 6959cd72d7cc06590d5fd0d333255927507c106ef3c2bb712381a935e62ff4e51d01483c2c47f397bbb4c0e0530a7c9f44a7f080d07e699f634c86d40dfc1894
6
+ metadata.gz: 3cb227e8a1ca4d1eadff73ffbe8ef4fcd9c70575df8cc323926948c0019a206a2a4ed04d86dcdb477569596b2cba37d08ae12e58b7c2de2d45018f6c1489f73f
7
+ data.tar.gz: 578d65fcc74d7ae0db7cfff090301fd52bf87940ae5fe747396b384941c4237730679ba04ca4ed3c8f74188abdbd91500ae9223ef83c381418f86abcdd6502b2
data/.rubocop.yml CHANGED
@@ -9,7 +9,12 @@ Style/RaiseArgs:
9
9
  Exclude:
10
10
  - 'spec/**/*'
11
11
  - 'lib/**/*'
12
-
12
+
13
+ Style/AsciiComments:
14
+ Exclude:
15
+ - 'spec/**/*'
16
+ - 'lib/**/*'
17
+
13
18
  Style/MethodDefParentheses:
14
19
  EnforcedStyle: require_no_parentheses
15
20
 
data/.travis.yml CHANGED
@@ -1,9 +1,12 @@
1
1
  language: ruby
2
2
  rvm:
3
- - 2.1.8
4
- - 2.2.0
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
@@ -2,4 +2,8 @@ source 'https://rubygems.org'
2
2
 
3
3
  # Specify your gem's dependencies in see_as_vee.gemspec
4
4
  gemspec
5
- gem "codeclimate-test-reporter", group: :test, require: nil
5
+
6
+ group :test do
7
+ gem "simplecov"
8
+ gem "codeclimate-test-reporter", "~> 1.0.0"
9
+ end
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
@@ -8,7 +8,7 @@ module SeeAsVee
8
8
  fg_color: "FFFFFFFF",
9
9
  sz: 14,
10
10
  border: { style: :thin, color: "FFFF0000" }
11
- } # don’t .freeze because asxlx wants to modify it
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
@@ -1,3 +1,3 @@
1
1
  module SeeAsVee
2
- VERSION = "0.2.4".freeze
2
+ VERSION = '0.2.5'.freeze
3
3
  end
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
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-08 00:00:00.000000000 Z
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