better_batch 1.0.2 → 1.0.3

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: 13c31343ab529bbd8df1009f601778fb504897bdfdb8b4d77f7165bad88620a1
4
- data.tar.gz: 571f51a6631cdac4d47aca08dba3964b281b8831fb5ec7820bcd97c669814116
3
+ metadata.gz: b208e3117c167c67e291224859745f7fa44d7f777b81b07e4f0f4e4537295b57
4
+ data.tar.gz: e8e6690424e9e9d9db8d613a201bd1551938e5f7502fb304c7dcfbe3ea2de482
5
5
  SHA512:
6
- metadata.gz: 38ccffb6de7831944d5c2eb7de2ea93f7ea56c7a9b392ee74fc148d4378795a3f33fdcb55e9e0f3912e7618fa6ecd26a561959c60a1d2fd4e1fd900eb59bd1f8
7
- data.tar.gz: e2c9efca1a99bb78aabe321a5f5b5eb322743e5463e8925574512ebc2855a18572b3008570699b396ee99d6569e6ee2670fe9dd7cb5c38d41382e96c3e8145b1
6
+ metadata.gz: 7787219a815f6e26796f0563b1a36b7877e08f866d72f423823bbf0f08a96ebb6d32c071547dccc4523988473f46661019d7c9171e475f5e37e19089396a4eb2
7
+ data.tar.gz: 1ae506ba8b32252090a802af2fd6e463e0753f3f8e5c34f0a8f77cd7d3744e0a0cf4f68785c9f92408c9ba109d8a8f9b2882ba55be25cfa60a21dd62c3285d9a
data/CHANGELOG.md CHANGED
@@ -1,3 +1,7 @@
1
+ ## [1.0.3] - 2025-04-15
2
+
3
+ - Improve handling of inputs
4
+
1
5
  ## [1.0.2] - 2025-04-15
2
6
 
3
7
  - Test version to excercise deployment updates
@@ -15,27 +15,39 @@ module BetterBatch
15
15
 
16
16
  # this strange (to me) setup avoids method redefinition warnings
17
17
  module InstanceOverrides
18
- def returning
18
+ def preprocess!
19
+ self[:column_types].transform_keys!(&:to_sym)
20
+ preprocess_returning
21
+ ensure_lists!
22
+ symbolize_lists!
23
+ symbolize!
24
+ end
25
+
26
+ private
27
+
28
+ def preprocess_returning
19
29
  case self[:returning]
20
- when nil
21
- []
22
30
  when '*', ['*']
23
- column_types.keys
24
- else
25
- self[:returning]
31
+ self[:returning] = column_types.keys
26
32
  end
27
33
  end
28
34
 
29
- def now_on_insert
30
- return Array(self[:now_on_insert]) unless self[:now_on_insert].is_a?(Array)
31
-
32
- self[:now_on_insert]
35
+ def ensure_lists!
36
+ %i[input_columns unique_columns now_on_insert now_on_update returning].each do |field|
37
+ self[field] = Array(self[field])
38
+ end
33
39
  end
34
40
 
35
- def now_on_update
36
- return Array(self[:now_on_update]) unless self[:now_on_update].is_a?(Array)
41
+ def symbolize_lists!
42
+ %i[input_columns unique_columns now_on_insert now_on_update returning].each do |field|
43
+ self[field].map!(&:to_sym)
44
+ end
45
+ end
37
46
 
38
- self[:now_on_update]
47
+ def symbolize!
48
+ %i[table_name primary_key].each do |field|
49
+ self[field] = self[field].to_sym
50
+ end
39
51
  end
40
52
  end
41
53
 
@@ -37,6 +37,7 @@ module BetterBatch
37
37
 
38
38
  def initialize(**)
39
39
  @inputs = Inputs.new(**)
40
+ @inputs.preprocess!
40
41
  end
41
42
 
42
43
  def select
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module BetterBatch
4
- VERSION = '1.0.2'
4
+ VERSION = '1.0.3'
5
5
  end
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: better_batch
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.2
4
+ version: 1.0.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Tyler Hartland
8
8
  bindir: exe
9
9
  cert_chain: []
10
- date: 2025-04-15 00:00:00.000000000 Z
10
+ date: 2025-04-16 00:00:00.000000000 Z
11
11
  dependencies:
12
12
  - !ruby/object:Gem::Dependency
13
13
  name: anbt-sql-formatter