csvlint 1.3.0 → 1.5.0

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: 193f51b0a401784dbd7b5ee452dd7fffd7d7f6ced9ce9b26adce88a3f6f3f9a8
4
- data.tar.gz: a2035c66cd7dae7f02716fee65ba08ff061e18afbda28c580f43c7a0722e2745
3
+ metadata.gz: ad0e814a8366671d93eb767885e657827a84456f6c141a02e7dbe5ba5bcb1892
4
+ data.tar.gz: 90abebb42e77c1a49e61eb151459f5ea0b98539b0f0415b87e924b63e226aaa0
5
5
  SHA512:
6
- metadata.gz: c33ab4a38325228df9e4e8d6f05ca7a264d4b15ddbe9ebe924062a0697695862d870170863f972699ee382c1577a759dc8fdebe64f449f43d8ca5b243dab853e
7
- data.tar.gz: 0dd17429279ab82528edaabe469295df051c54a752dc2d30b17956a394a169459fb9c6808d9003c4cb1830e51e4e469f479272356862e28bbcfd86d94ebd7e71
6
+ metadata.gz: 9d8d5462bc0c4306c308dde03264adad8c820bd1fe3d559e970210cdd809806d11a4fc5bea1830e5582774776edb3758f5d78fd4e7fe4c636872afaa4c00a236
7
+ data.tar.gz: 654659368878f232e0cbc6fa036343a39ac99a141c260ee552e90316f1a8d4a6e18c4ebba43200e7315dd71452602375d76b28cc5da934db6224e0c5239bceda
@@ -5,12 +5,41 @@ on:
5
5
  pull_request:
6
6
  branches: [ main ]
7
7
  jobs:
8
- test:
8
+ appraisal:
9
+ name: Ruby ${{ matrix.ruby-version }} / Rails ${{ matrix.activesupport-version }}
9
10
  runs-on: ubuntu-latest
10
11
  strategy:
11
12
  matrix:
12
- ruby-version: ['2.5', '2.6', '2.7', '3.0', '3.1', '3.2', '3.3']
13
+ ruby-version: ['2.5', '2.6', '2.7', '3.0', '3.1', '3.2', '3.3', '3.4']
14
+ activesupport-version:
15
+ - activesupport_5.2
16
+ - activesupport_6.0
17
+ - activesupport_6.1
18
+ - activesupport_7.0
19
+ - activesupport_7.1
20
+ - activesupport_7.2
21
+ exclude:
22
+ - ruby-version: '2.5'
23
+ activesupport-version: activesupport_7.0
24
+ - ruby-version: '2.6'
25
+ activesupport-version: activesupport_7.0
26
+ - ruby-version: '2.5'
27
+ activesupport-version: activesupport_7.1
28
+ - ruby-version: '2.6'
29
+ activesupport-version: activesupport_7.1
30
+ - ruby-version: '2.5'
31
+ activesupport-version: activesupport_7.2
32
+ - ruby-version: '2.6'
33
+ activesupport-version: activesupport_7.2
34
+ - ruby-version: '2.7'
35
+ activesupport-version: activesupport_7.2
36
+ - ruby-version: '3.0'
37
+ activesupport-version: activesupport_7.2
13
38
  fail-fast: false
39
+
40
+ env:
41
+ BUNDLE_GEMFILE: gemfiles/${{ matrix.activesupport-version }}.gemfile
42
+
14
43
  steps:
15
44
  - uses: actions/checkout@v4
16
45
  - uses: ruby/setup-ruby@v1
@@ -21,6 +50,7 @@ jobs:
21
50
  run: bundle install
22
51
  - name: Run the tests
23
52
  run: bundle exec rake
53
+
24
54
  lint:
25
55
  runs-on: ubuntu-latest
26
56
  steps:
@@ -28,7 +58,7 @@ jobs:
28
58
  - uses: ruby/setup-ruby@v1
29
59
  with:
30
60
  bundler-cache: true
31
- ruby-version: "3.3"
61
+ ruby-version: "3.4"
32
62
  - name: Install dependencies
33
63
  run: bundle install
34
64
  - name: Run the tests
data/.gitignore CHANGED
@@ -27,3 +27,5 @@ bin/run-csvw-tests
27
27
 
28
28
  csvlint-earl.ttl
29
29
  .byebug_history
30
+
31
+ gemfiles/*.lock
data/.ruby-version CHANGED
@@ -1 +1 @@
1
- 3.3.0
1
+ 3.4.1
data/.standard_todo.yml CHANGED
@@ -2,14 +2,8 @@
2
2
  # Remove from this list as you refactor files.
3
3
  ---
4
4
  ignore:
5
- - features/step_definitions/validation_errors_steps.rb:
6
- - Lint/Void
7
5
  - features/support/load_tests.rb:
8
- - Style/For
9
6
  - Security/Open
10
- - Lint/UselessAssignment
11
- - lib/csvlint/cli.rb:
12
- - Style/NonNilCheck
13
7
  - lib/csvlint/csvw/column.rb:
14
8
  - Style/TernaryParentheses
15
9
  - lib/csvlint/csvw/date_format.rb:
@@ -19,7 +13,6 @@ ignore:
19
13
  - Style/IdenticalConditionalBranches
20
14
  - lib/csvlint/csvw/property_checker.rb:
21
15
  - Performance/InefficientHashSearch
22
- - Lint/UselessAssignment
23
16
  - Naming/VariableName
24
17
  - Style/SlicingWithRange
25
18
  - Security/Open
@@ -30,18 +23,16 @@ ignore:
30
23
  - Naming/VariableName
31
24
  - lib/csvlint/schema.rb:
32
25
  - Security/Open
33
- - Lint/UselessAssignment
34
26
  - Style/SlicingWithRange
35
27
  - lib/csvlint/validate.rb:
36
- - Lint/UselessAssignment
37
28
  - Performance/Count
38
29
  - Lint/BooleanSymbol
39
30
  - Naming/VariableName
40
31
  - Security/Open
41
32
  - Lint/NonLocalExitFromIterator
42
- - spec/validator_spec.rb:
43
- - Lint/UselessAssignment
44
33
  - lib/csvlint/schema.rb:
45
34
  - Lint/UselessRescue
46
35
  - lib/csvlint/validate.rb:
47
36
  - Lint/UselessRescue
37
+ - lib/csvlint/cli.rb:
38
+ - Style/SafeNavigation
data/Appraisals ADDED
@@ -0,0 +1,26 @@
1
+ # After a new entry: `bundle exec appraisal install`
2
+ # Add an entry in `.github/workflows/push.yml`'s file
3
+
4
+ appraise "activesupport_5.2" do
5
+ gem "activesupport", "~> 5.2.0"
6
+ end
7
+
8
+ appraise "activesupport_6.0" do
9
+ gem "activesupport", "~> 6.0.0"
10
+ end
11
+
12
+ appraise "activesupport_6.1" do
13
+ gem "activesupport", "~> 6.1.0"
14
+ end
15
+
16
+ appraise "activesupport_7.0" do
17
+ gem "activesupport", "~> 7.0.0"
18
+ end
19
+
20
+ appraise "activesupport_7.1" do
21
+ gem "activesupport", "~> 7.1.0"
22
+ end
23
+
24
+ appraise "activesupport_7.2" do
25
+ gem "activesupport", "~> 7.2.0"
26
+ end
data/README.md CHANGED
@@ -17,7 +17,7 @@ A ruby gem to support validating CSV files to check their syntax and contents. Y
17
17
 
18
18
  ## Development
19
19
 
20
- `ruby version 3.3`
20
+ `ruby version 3.4`
21
21
 
22
22
  ### Tests
23
23
 
data/csvlint.gemspec CHANGED
@@ -16,12 +16,12 @@ Gem::Specification.new do |spec|
16
16
  spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
17
17
  spec.require_paths = ["lib"]
18
18
 
19
- spec.required_ruby_version = [">= 2.5", "< 3.4"]
19
+ spec.required_ruby_version = [">= 2.5", "< 3.5"]
20
20
 
21
21
  spec.add_dependency "csv"
22
22
  spec.add_dependency "rainbow"
23
23
  spec.add_dependency "open_uri_redirections"
24
- spec.add_dependency "activesupport", "< 7.1.0"
24
+ spec.add_dependency "activesupport"
25
25
  spec.add_dependency "addressable"
26
26
  spec.add_dependency "typhoeus"
27
27
  spec.add_dependency "escape_utils"
@@ -29,6 +29,7 @@ Gem::Specification.new do |spec|
29
29
  spec.add_dependency "thor"
30
30
  spec.add_dependency "rack"
31
31
  spec.add_dependency "net-http-persistent"
32
+ spec.add_dependency "mutex_m" # For Ruby 3.4+
32
33
 
33
34
  spec.add_development_dependency "bundler", ">= 1.3"
34
35
  spec.add_development_dependency "rake"
@@ -40,12 +41,12 @@ Gem::Specification.new do |spec|
40
41
  spec.add_development_dependency "rspec"
41
42
  spec.add_development_dependency "rspec-pride"
42
43
  spec.add_development_dependency "rspec-expectations"
43
- spec.add_development_dependency "coveralls"
44
+ spec.add_development_dependency "coveralls_reborn"
44
45
  spec.add_development_dependency "byebug"
45
46
  spec.add_development_dependency "github_changelog_generator"
46
47
  spec.add_development_dependency "aruba"
47
48
  spec.add_development_dependency "rdf", "< 4.0"
48
49
  spec.add_development_dependency "rdf-turtle"
49
- spec.add_development_dependency "henry"
50
50
  spec.add_development_dependency "standardrb"
51
+ spec.add_development_dependency "appraisal"
51
52
  end
@@ -16,7 +16,7 @@ def cache_file(filename)
16
16
  unless File.exist?(file)
17
17
  if filename.include? "/"
18
18
  levels = filename.split("/")[0..-2]
19
- for i in 0..levels.length
19
+ (0..levels.length).each do |i|
20
20
  dir = File.join(BASE_PATH, levels[0..i].join("/"))
21
21
  Dir.mkdir(dir) unless Dir.exist?(dir)
22
22
  end
@@ -26,7 +26,7 @@ def cache_file(filename)
26
26
  f.puts URI.open(uri, "rb").read
27
27
  end
28
28
  end
29
- [uri, file]
29
+ uri
30
30
  end
31
31
 
32
32
  unless File.exist? SCRIPT_FILE_PATH
@@ -66,7 +66,7 @@ unless File.exist? VALIDATION_FEATURE_FILE_PATH
66
66
  file.puts ""
67
67
 
68
68
  manifest["entries"].each do |entry|
69
- action_uri, action_file = cache_file(entry["action"])
69
+ action_uri = cache_file(entry["action"])
70
70
  metadata = nil
71
71
  provided_files = []
72
72
  missing_files = []
@@ -98,7 +98,7 @@ unless File.exist? VALIDATION_FEATURE_FILE_PATH
98
98
  missing_files << URI.join(action_uri, "csv-metadata.json").to_s
99
99
  end
100
100
  entry["implicit"]&.each do |implicit|
101
- implicit_uri, implicit_file = cache_file(implicit)
101
+ implicit_uri = cache_file(implicit)
102
102
  provided_files << implicit_uri.to_s
103
103
  unless implicit_uri == metadata
104
104
  file.puts "\t\tAnd I have a file called \"csvw/#{implicit}\" at the url \"#{implicit_uri}\""
@@ -0,0 +1,7 @@
1
+ # This file was generated by Appraisal
2
+
3
+ source "https://rubygems.org"
4
+
5
+ gem "activesupport", "~> 5.2.0"
6
+
7
+ gemspec path: "../"
@@ -0,0 +1,7 @@
1
+ # This file was generated by Appraisal
2
+
3
+ source "https://rubygems.org"
4
+
5
+ gem "activesupport", "~> 6.0.0"
6
+
7
+ gemspec path: "../"
@@ -0,0 +1,7 @@
1
+ # This file was generated by Appraisal
2
+
3
+ source "https://rubygems.org"
4
+
5
+ gem "activesupport", "~> 6.1.0"
6
+
7
+ gemspec path: "../"
@@ -0,0 +1,7 @@
1
+ # This file was generated by Appraisal
2
+
3
+ source "https://rubygems.org"
4
+
5
+ gem "activesupport", "~> 7.0.0"
6
+
7
+ gemspec path: "../"
@@ -0,0 +1,7 @@
1
+ # This file was generated by Appraisal
2
+
3
+ source "https://rubygems.org"
4
+
5
+ gem "activesupport", "~> 7.1.0"
6
+
7
+ gemspec path: "../"
@@ -0,0 +1,7 @@
1
+ # This file was generated by Appraisal
2
+
3
+ source "https://rubygems.org"
4
+
5
+ gem "activesupport", "~> 7.2.0"
6
+
7
+ gemspec path: "../"
data/lib/csvlint/cli.rb CHANGED
@@ -104,8 +104,8 @@ module Csvlint
104
104
  location = "#{error.row ? "Row" : "Column"}: #{location}"
105
105
  end
106
106
  output_string = "#{index + 1}. "
107
- if error.column && @schema && @schema.instance_of?(Csvlint::Schema)
108
- if @schema.fields[error.column - 1] != nil
107
+ if error.column && @schema&.instance_of?(Csvlint::Schema)
108
+ unless @schema.fields[error.column - 1].nil?
109
109
  output_string += "#{@schema.fields[error.column - 1].name}: "
110
110
  end
111
111
  end
@@ -176,7 +176,7 @@ module Csvlint
176
176
  col: error.column
177
177
  }
178
178
 
179
- if error.column && @schema && @schema.instance_of?(Csvlint::Schema) && @schema.fields[error.column - 1] != nil
179
+ if error.column && @schema&.instance_of?(Csvlint::Schema) && !@schema.fields[error.column - 1].nil?
180
180
  field = @schema.fields[error.column - 1]
181
181
  h[:header] = field.name
182
182
  h[:constraints] = field.constraints.map { |k, v| [k.underscore, v] }.to_h
@@ -285,8 +285,8 @@ module Csvlint
285
285
  warnings = []
286
286
  if value.instance_of? Hash
287
287
  if value["@id"]
288
- raise Csvlint::Csvw::MetadataError.new("datatype.@id"), "datatype @id must not be the id of a built-in datatype (#{value["@id"]})" if BUILT_IN_DATATYPES.values.include?(value["@id"])
289
- v, w, t = PROPERTIES["@id"].call(value["@id"], base_url, lang)
288
+ raise Csvlint::Csvw::MetadataError.new("datatype.@id"), "datatype @id must not be the id of a built-in datatype (#{value["@id"]})" if BUILT_IN_DATATYPES.value?(value["@id"])
289
+ _, w, _ = PROPERTIES["@id"].call(value["@id"], base_url, lang)
290
290
  unless w.nil?
291
291
  warnings << w
292
292
  value.delete("@id")
@@ -422,7 +422,7 @@ module Csvlint
422
422
  elsif p == "url"
423
423
  elsif p == "titles"
424
424
  else
425
- v, warning, type = check_property(p, v, base_url, lang)
425
+ _, warning, type = check_property(p, v, base_url, lang)
426
426
  if type != :transformation && !(warning.nil? || warning.empty?)
427
427
  value.delete(p)
428
428
  warnings << :invalid_property unless type == :transformation
@@ -555,7 +555,7 @@ module Csvlint
555
555
  warnings = []
556
556
  value.each do |p, v|
557
557
  if ["resource", "schemaReference", "columnReference"].include? p
558
- v, warning, type = check_property(p, v, base_url, lang)
558
+ v, warning, _ = check_property(p, v, base_url, lang)
559
559
  if warning.nil? || warning.empty?
560
560
  value[p] = v
561
561
  else
data/lib/csvlint/field.rb CHANGED
@@ -82,6 +82,12 @@ module Csvlint
82
82
  @uniques << value
83
83
  end
84
84
  end
85
+
86
+ if constraints["enum"]
87
+ unless constraints["enum"].include?(value)
88
+ build_errors(:invalid_enum_value, :schema, row, column, value, {"enum" => constraints["enum"]})
89
+ end
90
+ end
85
91
  end
86
92
 
87
93
  def validate_type(value, row, column)
@@ -48,7 +48,7 @@ module Csvlint
48
48
  else
49
49
  Schema.from_json_table(uri, json)
50
50
  end
51
- rescue TypeError => e
51
+ rescue TypeError
52
52
  # NO IDEA what this was even trying to do - SP 20160526
53
53
  rescue Csvlint::Csvw::MetadataError => e
54
54
  raise e
@@ -88,7 +88,7 @@ module Csvlint
88
88
 
89
89
  fields.each_with_index do |field, i|
90
90
  value = values[i] || ""
91
- result = field.validate_column(value, row, i + 1, all_errors)
91
+ field.validate_column(value, row, i + 1, all_errors)
92
92
  @errors += fields[i].errors
93
93
  @warnings += fields[i].warnings
94
94
  end
@@ -157,7 +157,7 @@ module Csvlint
157
157
  # If it's not a full line, then prepare to add it to the beginning of the next chunk
158
158
  @leading = line
159
159
  end
160
- rescue ArgumentError => ae
160
+ rescue ArgumentError
161
161
  build_errors(:invalid_encoding, :structure, @current_line, nil, @current_line) unless @reported_invalid_encoding
162
162
  @current_line += 1
163
163
  @reported_invalid_encoding = true
@@ -165,13 +165,12 @@ module Csvlint
165
165
 
166
166
  def validate_line(input = nil, index = nil)
167
167
  @input = input
168
- single_col = false
169
168
  line = index.present? ? index : 0
170
169
  @encoding = input.encoding.to_s
171
170
  report_line_breaks(line)
172
171
  parse_contents(input, line)
173
172
  @lambda&.call(self)
174
- rescue ArgumentError => ae
173
+ rescue ArgumentError
175
174
  build_errors(:invalid_encoding, :structure, @current_line, nil, index) unless @reported_invalid_encoding
176
175
  @reported_invalid_encoding = true
177
176
  end
@@ -205,7 +204,7 @@ module Csvlint
205
204
  if @schema
206
205
  @schema.validate_row(row, current_line, all_errors, @source, @validate)
207
206
  @errors += @schema.errors
208
- all_errors += @schema.errors
207
+ @schema.errors
209
208
  @warnings += @schema.warnings
210
209
  elsif !row.empty? && row.size != @expected_columns
211
210
  build_errors(:ragged_rows, :structure, current_line, nil, stream.to_s)
@@ -277,7 +276,6 @@ module Csvlint
277
276
  if schema.tables[@source_url]
278
277
  @schema = schema
279
278
  else
280
- warn_if_unsuccessful = true
281
279
  build_warnings(:schema_mismatch, :context, nil, nil, @source_url, schema)
282
280
  end
283
281
  end
@@ -1,3 +1,3 @@
1
1
  module Csvlint
2
- VERSION = "1.3.0"
2
+ VERSION = "1.5.0"
3
3
  end
data/lib/csvlint.rb CHANGED
@@ -4,9 +4,7 @@ require "open-uri"
4
4
  require "tempfile"
5
5
  require "typhoeus"
6
6
 
7
- require "active_support/core_ext/date/conversions"
8
- require "active_support/core_ext/time/conversions"
9
- require "active_support/core_ext/object"
7
+ require "active_support/all"
10
8
  require "open_uri_redirections"
11
9
  require "uri_template"
12
10
 
@@ -573,14 +573,14 @@ describe Csvlint::Validator do
573
573
  it "should call a lambda for each line" do
574
574
  @count = 0
575
575
  mylambda = lambda { |row| @count += 1 }
576
- validator = Csvlint::Validator.new(File.new(File.join(File.dirname(__FILE__), "..", "features", "fixtures", "valid.csv")), {}, nil, {lambda: mylambda})
576
+ Csvlint::Validator.new(File.new(File.join(File.dirname(__FILE__), "..", "features", "fixtures", "valid.csv")), {}, nil, {lambda: mylambda})
577
577
  expect(@count).to eq(3)
578
578
  end
579
579
 
580
580
  it "reports back the status of each line" do
581
581
  @results = []
582
582
  mylambda = lambda { |row| @results << row.current_line }
583
- validator = Csvlint::Validator.new(File.new(File.join(File.dirname(__FILE__), "..", "features", "fixtures", "valid.csv")), {}, nil, {lambda: mylambda})
583
+ Csvlint::Validator.new(File.new(File.join(File.dirname(__FILE__), "..", "features", "fixtures", "valid.csv")), {}, nil, {lambda: mylambda})
584
584
  expect(@results.count).to eq(3)
585
585
  expect(@results[0]).to eq(1)
586
586
  expect(@results[1]).to eq(2)
metadata CHANGED
@@ -1,14 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: csvlint
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.3.0
4
+ version: 1.5.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - pezholio
8
- autorequire:
9
8
  bindir: bin
10
9
  cert_chain: []
11
- date: 2024-01-10 00:00:00.000000000 Z
10
+ date: 2025-01-17 00:00:00.000000000 Z
12
11
  dependencies:
13
12
  - !ruby/object:Gem::Dependency
14
13
  name: csv
@@ -56,16 +55,16 @@ dependencies:
56
55
  name: activesupport
57
56
  requirement: !ruby/object:Gem::Requirement
58
57
  requirements:
59
- - - "<"
58
+ - - ">="
60
59
  - !ruby/object:Gem::Version
61
- version: 7.1.0
60
+ version: '0'
62
61
  type: :runtime
63
62
  prerelease: false
64
63
  version_requirements: !ruby/object:Gem::Requirement
65
64
  requirements:
66
- - - "<"
65
+ - - ">="
67
66
  - !ruby/object:Gem::Version
68
- version: 7.1.0
67
+ version: '0'
69
68
  - !ruby/object:Gem::Dependency
70
69
  name: addressable
71
70
  requirement: !ruby/object:Gem::Requirement
@@ -164,6 +163,20 @@ dependencies:
164
163
  - - ">="
165
164
  - !ruby/object:Gem::Version
166
165
  version: '0'
166
+ - !ruby/object:Gem::Dependency
167
+ name: mutex_m
168
+ requirement: !ruby/object:Gem::Requirement
169
+ requirements:
170
+ - - ">="
171
+ - !ruby/object:Gem::Version
172
+ version: '0'
173
+ type: :runtime
174
+ prerelease: false
175
+ version_requirements: !ruby/object:Gem::Requirement
176
+ requirements:
177
+ - - ">="
178
+ - !ruby/object:Gem::Version
179
+ version: '0'
167
180
  - !ruby/object:Gem::Dependency
168
181
  name: bundler
169
182
  requirement: !ruby/object:Gem::Requirement
@@ -305,7 +318,7 @@ dependencies:
305
318
  - !ruby/object:Gem::Version
306
319
  version: '0'
307
320
  - !ruby/object:Gem::Dependency
308
- name: coveralls
321
+ name: coveralls_reborn
309
322
  requirement: !ruby/object:Gem::Requirement
310
323
  requirements:
311
324
  - - ">="
@@ -389,7 +402,7 @@ dependencies:
389
402
  - !ruby/object:Gem::Version
390
403
  version: '0'
391
404
  - !ruby/object:Gem::Dependency
392
- name: henry
405
+ name: standardrb
393
406
  requirement: !ruby/object:Gem::Requirement
394
407
  requirements:
395
408
  - - ">="
@@ -403,7 +416,7 @@ dependencies:
403
416
  - !ruby/object:Gem::Version
404
417
  version: '0'
405
418
  - !ruby/object:Gem::Dependency
406
- name: standardrb
419
+ name: appraisal
407
420
  requirement: !ruby/object:Gem::Requirement
408
421
  requirements:
409
422
  - - ">="
@@ -435,6 +448,7 @@ files:
435
448
  - ".pre-commit-hooks.yaml"
436
449
  - ".ruby-version"
437
450
  - ".standard_todo.yml"
451
+ - Appraisals
438
452
  - CHANGELOG.md
439
453
  - CODE_OF_CONDUCT.md
440
454
  - CONTRIBUTING.md
@@ -488,6 +502,12 @@ files:
488
502
  - features/validation_errors.feature
489
503
  - features/validation_info.feature
490
504
  - features/validation_warnings.feature
505
+ - gemfiles/activesupport_5.2.gemfile
506
+ - gemfiles/activesupport_6.0.gemfile
507
+ - gemfiles/activesupport_6.1.gemfile
508
+ - gemfiles/activesupport_7.0.gemfile
509
+ - gemfiles/activesupport_7.1.gemfile
510
+ - gemfiles/activesupport_7.2.gemfile
491
511
  - lib/csvlint.rb
492
512
  - lib/csvlint/cli.rb
493
513
  - lib/csvlint/csvw/column.rb
@@ -516,7 +536,6 @@ homepage: https://github.com/theodi/csvlint.rb
516
536
  licenses:
517
537
  - MIT
518
538
  metadata: {}
519
- post_install_message:
520
539
  rdoc_options: []
521
540
  require_paths:
522
541
  - lib
@@ -527,15 +546,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
527
546
  version: '2.5'
528
547
  - - "<"
529
548
  - !ruby/object:Gem::Version
530
- version: '3.4'
549
+ version: '3.5'
531
550
  required_rubygems_version: !ruby/object:Gem::Requirement
532
551
  requirements:
533
552
  - - ">="
534
553
  - !ruby/object:Gem::Version
535
554
  version: '0'
536
555
  requirements: []
537
- rubygems_version: 3.5.3
538
- signing_key:
556
+ rubygems_version: 3.6.2
539
557
  specification_version: 4
540
558
  summary: CSV Validator
541
559
  test_files: []