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 +4 -4
- data/.github/workflows/push.yml +33 -3
- data/.gitignore +2 -0
- data/.ruby-version +1 -1
- data/.standard_todo.yml +2 -11
- data/Appraisals +26 -0
- data/README.md +1 -1
- data/csvlint.gemspec +5 -4
- data/features/support/load_tests.rb +4 -4
- data/gemfiles/activesupport_5.2.gemfile +7 -0
- data/gemfiles/activesupport_6.0.gemfile +7 -0
- data/gemfiles/activesupport_6.1.gemfile +7 -0
- data/gemfiles/activesupport_7.0.gemfile +7 -0
- data/gemfiles/activesupport_7.1.gemfile +7 -0
- data/gemfiles/activesupport_7.2.gemfile +7 -0
- data/lib/csvlint/cli.rb +3 -3
- data/lib/csvlint/csvw/property_checker.rb +4 -4
- data/lib/csvlint/field.rb +6 -0
- data/lib/csvlint/schema.rb +2 -2
- data/lib/csvlint/validate.rb +3 -5
- data/lib/csvlint/version.rb +1 -1
- data/lib/csvlint.rb +1 -3
- data/spec/validator_spec.rb +2 -2
- metadata +32 -14
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: ad0e814a8366671d93eb767885e657827a84456f6c141a02e7dbe5ba5bcb1892
|
4
|
+
data.tar.gz: 90abebb42e77c1a49e61eb151459f5ea0b98539b0f0415b87e924b63e226aaa0
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 9d8d5462bc0c4306c308dde03264adad8c820bd1fe3d559e970210cdd809806d11a4fc5bea1830e5582774776edb3758f5d78fd4e7fe4c636872afaa4c00a236
|
7
|
+
data.tar.gz: 654659368878f232e0cbc6fa036343a39ac99a141c260ee552e90316f1a8d4a6e18c4ebba43200e7315dd71452602375d76b28cc5da934db6224e0c5239bceda
|
data/.github/workflows/push.yml
CHANGED
@@ -5,12 +5,41 @@ on:
|
|
5
5
|
pull_request:
|
6
6
|
branches: [ main ]
|
7
7
|
jobs:
|
8
|
-
|
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.
|
61
|
+
ruby-version: "3.4"
|
32
62
|
- name: Install dependencies
|
33
63
|
run: bundle install
|
34
64
|
- name: Run the tests
|
data/.gitignore
CHANGED
data/.ruby-version
CHANGED
@@ -1 +1 @@
|
|
1
|
-
3.
|
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
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.
|
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"
|
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 "
|
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
|
-
|
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
|
-
|
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
|
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
|
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}\""
|
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
|
108
|
-
|
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
|
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.
|
289
|
-
|
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
|
-
|
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,
|
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)
|
data/lib/csvlint/schema.rb
CHANGED
@@ -48,7 +48,7 @@ module Csvlint
|
|
48
48
|
else
|
49
49
|
Schema.from_json_table(uri, json)
|
50
50
|
end
|
51
|
-
rescue TypeError
|
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
|
-
|
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
|
data/lib/csvlint/validate.rb
CHANGED
@@ -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
|
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
|
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
|
-
|
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
|
data/lib/csvlint/version.rb
CHANGED
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/
|
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
|
|
data/spec/validator_spec.rb
CHANGED
@@ -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
|
-
|
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
|
-
|
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.
|
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:
|
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:
|
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:
|
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:
|
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:
|
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:
|
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.
|
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.
|
538
|
-
signing_key:
|
556
|
+
rubygems_version: 3.6.2
|
539
557
|
specification_version: 4
|
540
558
|
summary: CSV Validator
|
541
559
|
test_files: []
|