gunwale 0.5.1 → 0.6.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: '0805edf13f730bc5c90b4f2891c89db8852a7746a874862ade9f14831a58a030'
4
- data.tar.gz: 95ba0799879cae2c88013d917aa94c9eb4030886e8b90bd30ba5ed125f94b539
3
+ metadata.gz: 52461a6f1dea23bbcf0b8fa37d85ea21832a5bd9e4a24e133e04c1e2c4d8246a
4
+ data.tar.gz: bd4a920b50c3333e0590413808e67e9dc5a5f214014f26f44b74c905b1244ffb
5
5
  SHA512:
6
- metadata.gz: 6574278043efb1d8e73822edc7ef4fba394fcdc8e5508804ff901a29a3547afd8481a03e2120b4c552df16c0958bbbaf9fd9af610345499fb52f1f981d21ddfe
7
- data.tar.gz: 6b45194df6a3ba93d3f6b52e5984765e7828ba93028bb7834f41c6dc40c7d236db756c9f6915a018784e5214113656bf4786fd692d0109412e59acfc66bd02b3
6
+ metadata.gz: 758d23294d5c60560bbf9e48e1d20d1bf304ddac4134d473099b257db34538368f6b421a954aa36ed3969475a36c7220fec97d44391e7c56d15ae40b1ba2dc58
7
+ data.tar.gz: 8b3d23b63453c8c7e6371310d84706d428f82777b1daac7ef36d5165ddcaeecc9e62c8d4ce4f8ce54fd5b9438c3818392a7bb2b2cc2cc2f72bab33619bf46005
data/Gemfile CHANGED
@@ -4,3 +4,7 @@ source "https://rubygems.org"
4
4
 
5
5
  # Specify your gem's dependencies in row_boat.gemspec
6
6
  gemspec
7
+
8
+ group :test, :development do
9
+ gem "standard", "~> 1.36"
10
+ end
data/README.md CHANGED
@@ -25,7 +25,7 @@ It uses [SmarterCSV](https://github.com/tilo/smarter_csv) and [`activerecord-imp
25
25
  Add this line to your application's Gemfile:
26
26
 
27
27
  ```ruby
28
- gem "gunwale", "~> 0.5.0", require: "row_boat"
28
+ gem "gunwale", require: "row_boat"
29
29
  ```
30
30
 
31
31
  And then execute:
data/Rakefile CHANGED
@@ -2,11 +2,10 @@
2
2
 
3
3
  require "bundler/gem_tasks"
4
4
  require "rspec/core/rake_task"
5
- require "rubocop/rake_task"
5
+ require "standard/rake"
6
6
  require "standalone_migrations"
7
7
 
8
8
  RSpec::Core::RakeTask.new(:spec)
9
- RuboCop::RakeTask.new
10
9
  StandaloneMigrations::Tasks.load_tasks
11
10
 
12
- task default: %i[rubocop spec]
11
+ task default: %i[standard spec]
data/lib/row_boat/base.rb CHANGED
@@ -19,8 +19,8 @@ module RowBoat
19
19
  # @return [Hash] a hash with +:invalid_records+, +:total_inserts+, +:inserted_ids+, and +:skipped_rows+.
20
20
  #
21
21
  # @see https://github.com/tilo/smarter_csv#documentation SmarterCSV Docs
22
- def import(*args, &block)
23
- new(*args, &block).import
22
+ def import(*, &)
23
+ new(*, &).import
24
24
  end
25
25
  end
26
26
 
@@ -266,9 +266,9 @@ module RowBoat
266
266
  def column_mapping_options
267
267
  case column_mapping
268
268
  when Hash
269
- { key_mapping: column_mapping, remove_unmapped_keys: true }
269
+ {key_mapping: column_mapping, remove_unmapped_keys: true}
270
270
  when Array
271
- { user_provided_headers: column_mapping }
271
+ {user_provided_headers: column_mapping}
272
272
  else
273
273
  raise InvalidColumnMapping, "#column_mapping must be a Hash or an Array: got `#{column_mapping}`"
274
274
  end
@@ -282,9 +282,9 @@ module RowBoat
282
282
 
283
283
  # @api private
284
284
  # @private
285
- def parse_rows(&block)
285
+ def parse_rows(&)
286
286
  csv_options = ::RowBoat::Helpers.extract_csv_options(merged_options)
287
- ::SmarterCSV.process(csv_source, csv_options, &block)
287
+ ::SmarterCSV.process(csv_source, csv_options, &)
288
288
  end
289
289
 
290
290
  # @api private
@@ -4,11 +4,13 @@ module RowBoat
4
4
  # @api private
5
5
  module Helpers
6
6
  CSV_OPTION_KEYS = %i[
7
+ auto_row_sep_chars
7
8
  chunk_size
8
9
  col_sep
9
10
  comment_regexp
10
11
  convert_values_to_numeric
11
12
  downcase_header
13
+ duplicate_header_suffix
12
14
  file_encoding
13
15
  force_simple_split
14
16
  force_utf8
@@ -16,20 +18,26 @@ module RowBoat
16
18
  invalid_byte_sequence
17
19
  keep_original_headers
18
20
  key_mapping
21
+ missing_header_prefix
19
22
  quote_char
20
23
  remove_empty_hashes
21
24
  remove_empty_values
22
25
  remove_unmapped_keys
23
26
  remove_values_matching
24
27
  remove_zero_values
28
+ required_headers
29
+ required_keys
25
30
  row_sep
31
+ silence_missing_keys
26
32
  skip_lines
33
+ strict
27
34
  strings_as_keys
28
35
  strip_chars_from_headers
29
36
  strip_whitespace
30
37
  user_provided_headers
31
38
  value_converters
32
39
  verbose
40
+ with_line_numbers
33
41
  ].freeze
34
42
 
35
43
  IMPORT_OPTION_KEYS = %i[
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module RowBoat
4
- VERSION = "0.5.1"
4
+ VERSION = "0.6.0"
5
5
  end
data/row_boat.gemspec CHANGED
@@ -1,4 +1,3 @@
1
- # coding: utf-8
2
1
  # frozen_string_literal: true
3
2
 
4
3
  lib = File.expand_path("../lib", __FILE__)
@@ -6,38 +5,38 @@ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
6
5
  require "row_boat/version"
7
6
 
8
7
  Gem::Specification.new do |spec|
9
- spec.name = "gunwale"
10
- spec.version = RowBoat::VERSION
11
- spec.authors = ["Charlton Trezevant"]
12
- spec.email = ["charlton@packfiles.io"]
8
+ spec.name = "gunwale"
9
+ spec.version = RowBoat::VERSION
10
+ spec.authors = ["Charlton Trezevant"]
11
+ spec.email = ["charlton@packfiles.io"]
13
12
 
14
- spec.summary = "Turn the rows of your CSV into rows in your database"
15
- spec.description = "Turn the rows of your CSV into rows in your database"
16
- spec.homepage = "https://github.com/packfiles/gunwale"
17
- spec.license = "MIT"
13
+ spec.summary = "Turn the rows of your CSV into rows in your database"
14
+ spec.description = "Turn the rows of your CSV into rows in your database"
15
+ spec.homepage = "https://github.com/packfiles/gunwale"
16
+ spec.license = "MIT"
18
17
 
19
- spec.files = `git ls-files -z`.split("\x0").reject do |f|
18
+ spec.files = `git ls-files -z`.split("\x0").reject do |f|
20
19
  f.match(%r{^(test|spec|features)/})
21
20
  end
22
- spec.bindir = "exe"
23
- spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
21
+ spec.bindir = "exe"
22
+ spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
24
23
  spec.require_paths = ["lib"]
25
24
 
26
- spec.add_dependency "activerecord", '~> 7.1', '>= 7.1.3.2'
27
- spec.add_dependency 'activerecord-import', '~> 1.6'
28
- spec.add_dependency "smarter_csv", '~> 1.10', '>= 1.10.3'
25
+ spec.add_dependency "activerecord", "~> 7.1", ">= 7.1.3.2"
26
+ spec.add_dependency "activerecord-import", "~> 1.6"
27
+ spec.add_dependency "smarter_csv", "~> 1.13", ">= 1.13.0"
29
28
 
30
- spec.add_development_dependency "appraisal", '~> 2.5'
29
+ spec.add_development_dependency "appraisal", "~> 2.5"
31
30
  spec.add_development_dependency "awesome_print"
32
31
  spec.add_development_dependency "bundler", "~> 2.5.9"
33
- spec.add_development_dependency "database_cleaner", '~> 2.0', '>= 2.0.2'
32
+ spec.add_development_dependency "database_cleaner", "~> 2.0", ">= 2.0.2"
34
33
  spec.add_development_dependency "pg"
35
34
  spec.add_development_dependency "pry"
36
35
  spec.add_development_dependency "pry-doc"
37
36
  spec.add_development_dependency "pry-nav"
38
- spec.add_development_dependency "rake", '~> 13.2', '>= 13.2.1'
39
- spec.add_development_dependency "rspec", '~> 3.13'
40
- spec.add_development_dependency "rubocop", '~> 1.63', '>= 1.63.5'
41
- spec.add_development_dependency "standalone_migrations", '~> 7.1', '>= 7.1.3'
42
- spec.add_development_dependency "yard", '~> 0.9.36'
37
+ spec.add_development_dependency "rake", "~> 13.2", ">= 13.2.1"
38
+ spec.add_development_dependency "rspec", "~> 3.13"
39
+ spec.add_development_dependency "rubocop", "~> 1.63", ">= 1.63.5"
40
+ spec.add_development_dependency "standalone_migrations", "~> 7.1", ">= 7.1.3"
41
+ spec.add_development_dependency "yard", "~> 0.9.36"
43
42
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: gunwale
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.5.1
4
+ version: 0.6.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Charlton Trezevant
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2024-05-15 00:00:00.000000000 Z
11
+ date: 2024-12-06 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activerecord
@@ -50,20 +50,20 @@ dependencies:
50
50
  requirements:
51
51
  - - "~>"
52
52
  - !ruby/object:Gem::Version
53
- version: '1.10'
53
+ version: '1.13'
54
54
  - - ">="
55
55
  - !ruby/object:Gem::Version
56
- version: 1.10.3
56
+ version: 1.13.0
57
57
  type: :runtime
58
58
  prerelease: false
59
59
  version_requirements: !ruby/object:Gem::Requirement
60
60
  requirements:
61
61
  - - "~>"
62
62
  - !ruby/object:Gem::Version
63
- version: '1.10'
63
+ version: '1.13'
64
64
  - - ">="
65
65
  - !ruby/object:Gem::Version
66
- version: 1.10.3
66
+ version: 1.13.0
67
67
  - !ruby/object:Gem::Dependency
68
68
  name: appraisal
69
69
  requirement: !ruby/object:Gem::Requirement