valigator-csv 4.0.1 → 4.1.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
  SHA256:
3
- metadata.gz: 4cae1d12cef1a58332b4209fbc24e7c751de7f648ec466b023e3d38a2e55b580
4
- data.tar.gz: 9135d59abc835d065cb75d53684f9d1279b1bed466c7176092618d0116da177e
3
+ metadata.gz: bdc2bb7a78e854a5feada8cb1da820ce1a24db16f071eff6275123ce282233ea
4
+ data.tar.gz: 9e3996bcf4db837f91c1ce4e12136f727aea3f899be210b519815cef52d2439f
5
5
  SHA512:
6
- metadata.gz: 44bb35b8e5b982b1d880e108b75822cbd9fda23b83eaae4fe15abd194553c36467cb6ca843c86c082f8497d59d3bfe5512becfedbe22395c054b4f27e68ab096
7
- data.tar.gz: 6136354c3e47c384271f0f73bcb31526e7f66e6181669953c8da30f642d02353996f256f7dc62b8f4abc8641f0df779d2c87b67d24d88141a1e72a56d2f7447b
6
+ metadata.gz: c739e1738706c156eac0c1188a976386c20f76fcdbfd623e2efad0c24b36b4c6a952e6528d77d377cdf1d6024adc44a85561d8686824d7f98483d8b3ccbc5d74
7
+ data.tar.gz: 5a74f07210de512dd489d41c023702531b8687b737b31c1120877efdfd7e0ff7b63cd92b25f994dccf44363b0faaad93864366c1d686e428969b879461725a90
data/.ruby-version CHANGED
@@ -1 +1 @@
1
- 2.7.3
1
+ 3.1.2
data/.travis.yml CHANGED
@@ -5,4 +5,5 @@ rvm:
5
5
  - 2.5.7
6
6
  - 2.6.2
7
7
  - 2.6.5
8
+ - 3.1.2
8
9
  before_install: gem install bundler
@@ -28,6 +28,14 @@ module Valigator
28
28
 
29
29
  private
30
30
 
31
+ def strict_parse_date(value, format)
32
+ date = ::Date.strptime(value, format)
33
+ if date.strftime(format) != value
34
+ raise ArgumentError, "Date does not match the expected format: #{value}"
35
+ end
36
+ date
37
+ end
38
+
31
39
  def format
32
40
  @options[:format]
33
41
  end
@@ -35,7 +43,7 @@ module Valigator
35
43
 
36
44
 
37
45
  def parse(value)
38
- format ? ::Date.strptime(value.to_s, format) : ::Date.parse(value.to_s)
46
+ format ? strict_parse_date(value.to_s, format) : ::Date.parse(value.to_s)
39
47
  end
40
48
 
41
49
  end
@@ -18,7 +18,7 @@ module Valigator
18
18
  config.merge! options
19
19
  @current_row_number = csv_options(options)[:headers] ? 1 : 0
20
20
 
21
- ::CSV.foreach(filename, csv_options(options)) do |row|
21
+ ::CSV.foreach(filename, **csv_options(options)) do |row|
22
22
  @current_row_number += 1
23
23
  validate_fields row, options
24
24
  validate_row row, options
@@ -1,5 +1,5 @@
1
1
  module Valigator
2
2
  module CSV
3
- VERSION = "4.0.1"
3
+ VERSION = "4.1.0"
4
4
  end
5
5
  end
metadata CHANGED
@@ -1,17 +1,17 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: valigator-csv
3
3
  version: !ruby/object:Gem::Version
4
- version: 4.0.1
4
+ version: 4.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Daniel Nagy
8
8
  - Istvan Demeter
9
9
  - Tamas Drahos
10
10
  - Milan Unicsovics
11
- autorequire:
11
+ autorequire:
12
12
  bindir: bin
13
13
  cert_chain: []
14
- date: 2021-09-16 00:00:00.000000000 Z
14
+ date: 2025-06-05 00:00:00.000000000 Z
15
15
  dependencies:
16
16
  - !ruby/object:Gem::Dependency
17
17
  name: bundler
@@ -93,7 +93,7 @@ homepage: https://github.com/emartech/valigator-csv
93
93
  licenses:
94
94
  - MIT
95
95
  metadata: {}
96
- post_install_message:
96
+ post_install_message:
97
97
  rdoc_options: []
98
98
  require_paths:
99
99
  - lib
@@ -108,8 +108,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
108
108
  - !ruby/object:Gem::Version
109
109
  version: '0'
110
110
  requirements: []
111
- rubygems_version: 3.1.6
112
- signing_key:
111
+ rubygems_version: 3.3.7
112
+ signing_key:
113
113
  specification_version: 4
114
114
  summary: Yet another CSV validator library
115
115
  test_files: []