csvlint 1.3.0 → 1.5.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: 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: []