see_as_vee 0.5.4 → 0.6.0

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 02951e75b098b408319f1df164ba76aecec5ce2b
4
- data.tar.gz: 5dcbf08befb11a2e8d37ef08b96aa676700c2396
3
+ metadata.gz: b367366b499401867c3ec9167bac628ca13edab9
4
+ data.tar.gz: 4e67b91a9d20cd0e46e9eb4d1412692811bb2823
5
5
  SHA512:
6
- metadata.gz: 50ef8490f968d9367be631031aa85bbc70001a1d6659f0abe2274afe86db0c1b2417fbbbbe6a7803f7201ff2dc564cc066a9fa6689d5c8a538b4f98deaffede0
7
- data.tar.gz: 17965b7262177c65896c31d066d36dbafe4604bae896055787269faa529e31dab33e39bc92977b3149c6dbacef2677af694f500e8eac28977f03e7c8825c61b7
6
+ metadata.gz: 570410e96332ef41fee45394512e848bacd7bcd0a51cea0034df4dda4522914af24bc33f671c2afbdd3703370bcde22ef57a595957caa149477ddc3d64b52e87
7
+ data.tar.gz: c7b3fce8fe6d98f30363a39b06fd0c35491715aa6e4f2ccf76e7c7282bd100ed46713f3c9eb85519637379c798a06dfec2b8229d865a23d4abd6e80cce31fa41
data/README.md CHANGED
@@ -126,6 +126,10 @@ From the version `0.4.5` we support expanding the column produced by `GROUP_CONC
126
126
 
127
127
  ## Changelog
128
128
 
129
+ ### `0.6.0` allow explicit `UTF-16 LE` with `BOM` to please MS Excel users
130
+
131
+ ### `0.5.4` deal with duplicated and empty headers
132
+
129
133
  ### `0.5.2` accept empty headers
130
134
 
131
135
  ### `0.5.1` _`skip_blank_rows`_
@@ -74,10 +74,22 @@ module SeeAsVee
74
74
  end
75
75
 
76
76
  def produce_csv **params
77
- Tempfile.new(['see_as_vee', '.csv']).tap do |f|
78
- CSV.open(f.path, "wb", params) do |content|
79
- @rows.each { |row| content << row }
80
- end unless @rows.empty?
77
+ return if @rows.empty?
78
+
79
+ for_ms_excel = params.delete(:ms_excel) == true
80
+
81
+ Tempfile.open(['see_as_vee', '.csv']).tap do |f|
82
+ content =
83
+ CSV.generate(params) do |csv|
84
+ @rows.each { |row| csv << row }
85
+ end
86
+ content =
87
+ "\xFF\xFE".force_encoding(Encoding::UTF_16LE) <<
88
+ content.encode(Encoding::UTF_16LE) if for_ms_excel
89
+
90
+ mode = for_ms_excel ? "w:UTF-16LE" : "w:UTF-8"
91
+
92
+ File.open(f.path, mode) { |f| f.write content }
81
93
  end
82
94
  end
83
95
 
@@ -1,3 +1,3 @@
1
1
  module SeeAsVee
2
- VERSION = '0.5.4'.freeze
2
+ VERSION = '0.6.0'.freeze
3
3
  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.5.4
4
+ version: 0.6.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Aleksei Matiushkin
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2018-07-20 00:00:00.000000000 Z
11
+ date: 2018-08-14 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: simple_xlsx_reader