smarter_csv 1.10.1 → 1.10.3

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
  SHA256:
3
- metadata.gz: 6b214e402e999d37eb8fff613e0d87afe9084298ea0813447ca81aec33d7503a
4
- data.tar.gz: 5344f4221d56ce53864bcd825c35d128cd998b1a54a2f60bed6f7e9d4d7c802f
3
+ metadata.gz: dbc3d3e97a602c4b67a88a94eea6bb66feed23c061da6a1c07b04f84b820e8b0
4
+ data.tar.gz: be5eea03fa0baeec95557772aef9d2bfd6c3e200103e9b686078c05c392a0a74
5
5
  SHA512:
6
- metadata.gz: f05993e5a591b7b720dc2833d525ee2443d6fe00e6d0acdda2d237406296e16fddbe3959ff8df57f6d3bf64f95401f3d8b3b83d4a8a92ea8e9a7a8ba82cd57fe
7
- data.tar.gz: 906a7b5ef793ed46d875a77d55471d568f6ac5adebcf2c121bf67ecdbbf150059eb0eeddec6a63a2d10cc6617ed2ba7359eeb6f627b25891a38ea4bdbdf37b83
6
+ metadata.gz: bb204a933e3f8ae93b626cd6c4c45e6296ece98f136b96389ae3d3459bb8826de3d128481faedb3e10fa85a547483568cce7fbb54de38ba6c8074b0276775123
7
+ data.tar.gz: 724279536101f6561299ffc619c12393395c019ed771cc1e7b37b376804a05bee22b179fbd30770f29f6a9c099864268ecb222a2af7497a254b43982942aec90
data/.rspec ADDED
@@ -0,0 +1 @@
1
+ --require spec_helper
data/CHANGELOG.md CHANGED
@@ -1,6 +1,14 @@
1
1
 
2
2
  # SmarterCSV 1.x Change Log
3
3
 
4
+ ## 1.10.3 (2024-03-10)
5
+ * fixed issue when frozen options are handed in (thanks to Daniel Pepper)
6
+ * cleaned-up rspec tests (thanks to Daniel Pepper)
7
+ * fixed link in README (issue #251)
8
+
9
+ ## 1.10.2 (2024-02-11)
10
+ * improve error message for missing keys
11
+
4
12
  ## 1.10.1 (2024-01-07)
5
13
  * fix incorrect warning about UTF-8 (issue #268, thanks hirowatari)
6
14
 
data/CONTRIBUTORS.md CHANGED
@@ -51,4 +51,5 @@ A Big Thank you to everyone who filed issues, sent comments, and who contributed
51
51
  * [Rahul Chaudhary](https://github.com/rahulch95)
52
52
  * [Alessandro Fazzi](https://github.com/pioneerskies)
53
53
  * [JP Camara](https://github.com/jpcamara)
54
- * [Hiro Watari](https://github.com/hirowatari)
54
+ * [Kenton Hirowatari](https://github.com/hirowatari)
55
+ * [Daniel Pepper](https://github.com/dpep)
data/README.md CHANGED
@@ -23,13 +23,8 @@
23
23
 
24
24
  * default branch is `main` for 1.x development
25
25
 
26
- * 2.x development is on `2.0-development` (check this branch for 2.0 documentation)
27
- - This is an EXPERIMENTAL branch - DO NOT USE in production
28
-
29
- #### Work towards Future Version 2.x
30
-
31
- * Work towards SmarterCSV 2.x is still ongoing, with improved features, and more streamlined options, but consider it as experimental at this time.
32
- Please check the [2.0-develop branch](https://github.com/tilo/smarter_csv/tree/2.0-develop), open any issues and pull requests with mention of tag v2.0.
26
+ * 2.x development is [MOVED TO THIS PR](https://github.com/tilo/smarter_csv/pull/267)
27
+ - 2.x behavior is still EXPERIMENTAL - DO NOT USE in production
33
28
 
34
29
  ---------------
35
30
 
@@ -394,10 +389,9 @@ And header and data validations will also be supported in 2.x
394
389
  * some CSV files use un-escaped quotation characters inside fields. This can cause the import to break. To get around this, use the `:force_simple_split => true` option in combination with `:strip_chars_from_headers => /[\-"]/` . This will also significantly speed up the import.
395
390
  If you would force a different :quote_char instead (setting it to a non-used character), then the import would be up to 5-times slower than using `:force_simple_split`.
396
391
 
397
- ## See also:
398
-
399
- http://www.unixgods.org/~tilo/Ruby/process_csv_as_hashes.html
392
+ ## The original post that started SmarterCSV:
400
393
 
394
+ http://www.unixgods.org/Ruby/process_csv_as_hashes.html
401
395
 
402
396
 
403
397
  ## Installation
@@ -26,7 +26,7 @@ module SmarterCSV
26
26
  missing_keys = options[:required_keys].select { |k| !headers_set.include?(k) }
27
27
 
28
28
  unless missing_keys.empty?
29
- raise SmarterCSV::MissingKeys, "ERROR: missing attributes: #{missing_keys.join(',')}"
29
+ raise SmarterCSV::MissingKeys, "ERROR: missing attributes: #{missing_keys.join(',')}. Check `SmarterCSV.headers` for original headers."
30
30
  end
31
31
  end
32
32
  end
@@ -42,11 +42,12 @@ module SmarterCSV
42
42
  def process_options(given_options = {})
43
43
  puts "User provided options:\n#{pp(given_options)}\n" if given_options[:verbose]
44
44
 
45
+ @options = DEFAULT_OPTIONS.dup.merge!(given_options)
46
+
45
47
  # fix invalid input
46
- given_options[:invalid_byte_sequence] = '' if given_options[:invalid_byte_sequence].nil?
48
+ @options[:invalid_byte_sequence] ||= ''
47
49
 
48
- @options = DEFAULT_OPTIONS.dup.merge!(given_options)
49
- puts "Computed options:\n#{pp(@options)}\n" if given_options[:verbose]
50
+ puts "Computed options:\n#{pp(@options)}\n" if @options[:verbose]
50
51
 
51
52
  validate_options!(@options)
52
53
  @options
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module SmarterCSV
4
- VERSION = "1.10.1"
4
+ VERSION = "1.10.3"
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: smarter_csv
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.10.1
4
+ version: 1.10.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Tilo Sloboda
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2024-01-07 00:00:00.000000000 Z
11
+ date: 2024-03-10 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: awesome_print
@@ -104,6 +104,7 @@ extensions:
104
104
  - ext/smarter_csv/extconf.rb
105
105
  extra_rdoc_files: []
106
106
  files:
107
+ - ".rspec"
107
108
  - ".rubocop.yml"
108
109
  - ".rvmrc"
109
110
  - CHANGELOG.md