data_taster 0.4.1 → 0.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: 2b11062c1df8f3ca0de0707e8953734097578f40627613aa2186e62eab9fa77f
4
- data.tar.gz: bfd684283ce66f8fd44d7375fb80b01a8e04721a27fd647bcc12e8a75b36cdb3
3
+ metadata.gz: 11d56e26a4a1c6e622d7ef2e520cb8f613a25fe2d85913d4848040cf8353fbb1
4
+ data.tar.gz: 0623f9f5543eef0469b11f9dbf22cefd489ef849fb4bb7809449d5cff10c1e1b
5
5
  SHA512:
6
- metadata.gz: e69c9207f57e3bcb131f025888eff94a4ace9cd8d37f20b4fb50efbdf2ea9f37eea7a080e642fa996dc2b128890d31c9fa2c04718d345b753458774b9941ac9f
7
- data.tar.gz: a71fc7e17cae4a814e24335054f077e8b6571ea93cb9b9757a37a2b1c0beacd6a4dc92616ff3a1a8b1e8a0d5cba15800056a2bb4ff9b2184a1f98fe895fdaf81
6
+ metadata.gz: f5e1334b7a9c32432f8441a81f99c430672b72709755e8a23844b39b57fb8b11ddeb438e4ac48e33cabebe5de4233d44a787c445210aacad029cf8bbeeb3f933
7
+ data.tar.gz: 4834fee985c8e849b5e0c29022539e8e6b6edcbefb474d207d75ec6426d93d3428cbbb6118e98139e4a825c85707c95f583306a02894583f674c30f73a038255
data/.rubocop.yml CHANGED
@@ -4,13 +4,5 @@ require:
4
4
  AllCops:
5
5
  TargetRubyVersion: 3.0
6
6
 
7
- Style/FrozenStringLiteralComment:
8
- Exclude:
9
- - 'gemfiles/*'
10
-
11
- Bundler/OrderedGems:
12
- Exclude:
13
- - 'gemfiles/*'
14
-
15
7
  Rails:
16
8
  Enabled: false
data/Appraisals CHANGED
@@ -1,13 +1,11 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- appraise "rails-6-0" do
4
- gem "rails", "6.0.6.1"
3
+ appraise "rails-7-1" do
4
+ gem "rails", "7.1.5.2"
5
+ gem "rspec-rails", "~> 7.1.1"
5
6
  end
6
7
 
7
- appraise "rails-6-1" do
8
- gem "rails", "6.1.7.7"
9
- end
10
-
11
- appraise "rails-7-0" do
12
- gem "rails", "7.0.8.1"
8
+ appraise "rails-7-2" do
9
+ gem "rails", "7.2.2.2"
10
+ gem "rspec-rails", "~> 8.0.1"
13
11
  end
data/Gemfile CHANGED
@@ -4,8 +4,4 @@ source "https://rubygems.org"
4
4
 
5
5
  gemspec
6
6
 
7
- gem "activesupport", "< 7.2.0"
8
- gem "net-imap", "< 0.5.0"
9
- gem "rubocop-powerhome", path: "../rubocop-powerhome", tag: "v0.5.2-rubocop-powerhome"
10
- gem "securerandom", "< 0.4.0"
11
- gem "zeitwerk", "< 2.7.0"
7
+ gem "rubocop-powerhome", path: "../rubocop-powerhome"
data/Gemfile.lock CHANGED
@@ -1,8 +1,8 @@
1
1
  PATH
2
2
  remote: ../rubocop-powerhome
3
3
  specs:
4
- rubocop-powerhome (0.5.3)
5
- rubocop (= 1.66.1)
4
+ rubocop-powerhome (0.6.1)
5
+ rubocop (= 1.82.1)
6
6
  rubocop-performance
7
7
  rubocop-rails
8
8
  rubocop-rake
@@ -11,119 +11,121 @@ PATH
11
11
  PATH
12
12
  remote: .
13
13
  specs:
14
- data_taster (0.4.1)
15
- nokogiri (= 1.17.2)
16
- rails (>= 6.0)
14
+ data_taster (0.5.0)
15
+ rails (>= 6.1, < 8)
17
16
 
18
17
  GEM
19
18
  remote: https://rubygems.org/
20
19
  specs:
21
- actioncable (7.1.5.1)
22
- actionpack (= 7.1.5.1)
23
- activesupport (= 7.1.5.1)
20
+ actioncable (7.2.3.1)
21
+ actionpack (= 7.2.3.1)
22
+ activesupport (= 7.2.3.1)
24
23
  nio4r (~> 2.0)
25
24
  websocket-driver (>= 0.6.1)
26
25
  zeitwerk (~> 2.6)
27
- actionmailbox (7.1.5.1)
28
- actionpack (= 7.1.5.1)
29
- activejob (= 7.1.5.1)
30
- activerecord (= 7.1.5.1)
31
- activestorage (= 7.1.5.1)
32
- activesupport (= 7.1.5.1)
33
- mail (>= 2.7.1)
34
- net-imap
35
- net-pop
36
- net-smtp
37
- actionmailer (7.1.5.1)
38
- actionpack (= 7.1.5.1)
39
- actionview (= 7.1.5.1)
40
- activejob (= 7.1.5.1)
41
- activesupport (= 7.1.5.1)
42
- mail (~> 2.5, >= 2.5.4)
43
- net-imap
44
- net-pop
45
- net-smtp
26
+ actionmailbox (7.2.3.1)
27
+ actionpack (= 7.2.3.1)
28
+ activejob (= 7.2.3.1)
29
+ activerecord (= 7.2.3.1)
30
+ activestorage (= 7.2.3.1)
31
+ activesupport (= 7.2.3.1)
32
+ mail (>= 2.8.0)
33
+ actionmailer (7.2.3.1)
34
+ actionpack (= 7.2.3.1)
35
+ actionview (= 7.2.3.1)
36
+ activejob (= 7.2.3.1)
37
+ activesupport (= 7.2.3.1)
38
+ mail (>= 2.8.0)
46
39
  rails-dom-testing (~> 2.2)
47
- actionpack (7.1.5.1)
48
- actionview (= 7.1.5.1)
49
- activesupport (= 7.1.5.1)
40
+ actionpack (7.2.3.1)
41
+ actionview (= 7.2.3.1)
42
+ activesupport (= 7.2.3.1)
43
+ cgi
50
44
  nokogiri (>= 1.8.5)
51
45
  racc
52
- rack (>= 2.2.4)
46
+ rack (>= 2.2.4, < 3.3)
53
47
  rack-session (>= 1.0.1)
54
48
  rack-test (>= 0.6.3)
55
49
  rails-dom-testing (~> 2.2)
56
50
  rails-html-sanitizer (~> 1.6)
57
- actiontext (7.1.5.1)
58
- actionpack (= 7.1.5.1)
59
- activerecord (= 7.1.5.1)
60
- activestorage (= 7.1.5.1)
61
- activesupport (= 7.1.5.1)
51
+ useragent (~> 0.16)
52
+ actiontext (7.2.3.1)
53
+ actionpack (= 7.2.3.1)
54
+ activerecord (= 7.2.3.1)
55
+ activestorage (= 7.2.3.1)
56
+ activesupport (= 7.2.3.1)
62
57
  globalid (>= 0.6.0)
63
58
  nokogiri (>= 1.8.5)
64
- actionview (7.1.5.1)
65
- activesupport (= 7.1.5.1)
59
+ actionview (7.2.3.1)
60
+ activesupport (= 7.2.3.1)
66
61
  builder (~> 3.1)
62
+ cgi
67
63
  erubi (~> 1.11)
68
64
  rails-dom-testing (~> 2.2)
69
65
  rails-html-sanitizer (~> 1.6)
70
- activejob (7.1.5.1)
71
- activesupport (= 7.1.5.1)
66
+ activejob (7.2.3.1)
67
+ activesupport (= 7.2.3.1)
72
68
  globalid (>= 0.3.6)
73
- activemodel (7.1.5.1)
74
- activesupport (= 7.1.5.1)
75
- activerecord (7.1.5.1)
76
- activemodel (= 7.1.5.1)
77
- activesupport (= 7.1.5.1)
69
+ activemodel (7.2.3.1)
70
+ activesupport (= 7.2.3.1)
71
+ activerecord (7.2.3.1)
72
+ activemodel (= 7.2.3.1)
73
+ activesupport (= 7.2.3.1)
78
74
  timeout (>= 0.4.0)
79
- activestorage (7.1.5.1)
80
- actionpack (= 7.1.5.1)
81
- activejob (= 7.1.5.1)
82
- activerecord (= 7.1.5.1)
83
- activesupport (= 7.1.5.1)
75
+ activestorage (7.2.3.1)
76
+ actionpack (= 7.2.3.1)
77
+ activejob (= 7.2.3.1)
78
+ activerecord (= 7.2.3.1)
79
+ activesupport (= 7.2.3.1)
84
80
  marcel (~> 1.0)
85
- activesupport (7.1.5.1)
81
+ activesupport (7.2.3.1)
86
82
  base64
87
83
  benchmark (>= 0.3)
88
84
  bigdecimal
89
- concurrent-ruby (~> 1.0, >= 1.0.2)
85
+ concurrent-ruby (~> 1.0, >= 1.3.1)
90
86
  connection_pool (>= 2.2.5)
91
87
  drb
92
88
  i18n (>= 1.6, < 2)
93
89
  logger (>= 1.4.2)
94
- minitest (>= 5.1)
95
- mutex_m
90
+ minitest (>= 5.1, < 6)
96
91
  securerandom (>= 0.3)
97
- tzinfo (~> 2.0)
92
+ tzinfo (~> 2.0, >= 2.0.5)
98
93
  appraisal (2.5.0)
99
94
  bundler
100
95
  rake
101
96
  thor (>= 0.14.0)
102
- ast (2.4.2)
103
- base64 (0.2.0)
104
- benchmark (0.4.0)
105
- bigdecimal (3.1.9)
97
+ ast (2.4.3)
98
+ base64 (0.3.0)
99
+ benchmark (0.5.0)
100
+ bigdecimal (4.1.1)
106
101
  builder (3.3.0)
107
- concurrent-ruby (1.3.5)
108
- connection_pool (2.5.0)
102
+ cgi (0.5.1)
103
+ combustion (1.5.0)
104
+ activesupport (>= 3.0.0)
105
+ railties (>= 3.0.0)
106
+ thor (>= 0.14.6)
107
+ concurrent-ruby (1.3.6)
108
+ connection_pool (3.0.2)
109
109
  crass (1.0.6)
110
- csv (3.3.2)
111
- date (3.4.1)
112
- diff-lcs (1.5.1)
110
+ csv (3.3.5)
111
+ date (3.5.1)
112
+ diff-lcs (1.6.2)
113
113
  docile (1.1.5)
114
- drb (2.2.1)
114
+ drb (2.2.3)
115
+ erb (6.0.2)
115
116
  erubi (1.13.1)
116
- globalid (1.2.1)
117
+ globalid (1.3.0)
117
118
  activesupport (>= 6.1)
118
- i18n (1.14.7)
119
+ i18n (1.14.8)
119
120
  concurrent-ruby (~> 1.0)
120
- io-console (0.8.0)
121
- irb (1.15.1)
121
+ io-console (0.8.2)
122
+ irb (1.17.0)
122
123
  pp (>= 0.6.0)
124
+ prism (>= 1.3.0)
123
125
  rdoc (>= 4.0.0)
124
126
  reline (>= 0.4.2)
125
- json (2.9.1)
126
- language_server-protocol (3.17.0.3)
127
+ json (2.19.3)
128
+ language_server-protocol (3.17.0.5)
127
129
  license_finder (7.2.1)
128
130
  bundler
129
131
  csv (~> 3.2)
@@ -132,154 +134,180 @@ GEM
132
134
  tomlrb (>= 1.3, < 2.1)
133
135
  with_env (= 1.1.0)
134
136
  xml-simple (~> 1.1.9)
135
- logger (1.6.5)
136
- loofah (2.24.0)
137
+ lint_roller (1.1.0)
138
+ logger (1.7.0)
139
+ loofah (2.25.1)
137
140
  crass (~> 1.0.2)
138
141
  nokogiri (>= 1.12.0)
139
- mail (2.8.1)
142
+ mail (2.9.0)
143
+ logger
140
144
  mini_mime (>= 0.1.1)
141
145
  net-imap
142
146
  net-pop
143
147
  net-smtp
144
- marcel (1.0.4)
148
+ marcel (1.1.0)
145
149
  mini_mime (1.1.5)
146
- mini_portile2 (2.8.8)
147
- minitest (5.25.4)
148
- mutex_m (0.3.0)
149
- net-imap (0.4.18)
150
+ mini_portile2 (2.8.9)
151
+ minitest (5.27.0)
152
+ mysql2 (0.5.5)
153
+ net-imap (0.6.3)
150
154
  date
151
155
  net-protocol
152
156
  net-pop (0.1.2)
153
157
  net-protocol
154
158
  net-protocol (0.2.2)
155
159
  timeout
156
- net-smtp (0.5.0)
160
+ net-smtp (0.5.1)
157
161
  net-protocol
158
- nio4r (2.7.4)
159
- nokogiri (1.17.2)
162
+ nio4r (2.7.5)
163
+ nokogiri (1.19.2)
160
164
  mini_portile2 (~> 2.8.2)
161
165
  racc (~> 1.4)
162
- parallel (1.26.3)
163
- parser (3.3.7.0)
166
+ nokogiri (1.19.2-aarch64-linux-gnu)
167
+ racc (~> 1.4)
168
+ nokogiri (1.19.2-arm-linux-gnu)
169
+ racc (~> 1.4)
170
+ nokogiri (1.19.2-arm64-darwin)
171
+ racc (~> 1.4)
172
+ nokogiri (1.19.2-x86_64-darwin)
173
+ racc (~> 1.4)
174
+ nokogiri (1.19.2-x86_64-linux-gnu)
175
+ racc (~> 1.4)
176
+ parallel (1.28.0)
177
+ parser (3.3.11.1)
164
178
  ast (~> 2.4.1)
165
179
  racc
166
- power_assert (2.0.5)
167
- pp (0.6.2)
180
+ power_assert (3.0.1)
181
+ pp (0.6.3)
168
182
  prettyprint
169
183
  prettyprint (0.2.0)
170
- psych (5.2.3)
184
+ prism (1.9.0)
185
+ psych (5.3.1)
171
186
  date
172
187
  stringio
173
188
  racc (1.8.1)
174
- rack (3.1.8)
175
- rack-session (2.1.0)
189
+ rack (3.2.6)
190
+ rack-session (2.1.2)
176
191
  base64 (>= 0.1.0)
177
192
  rack (>= 3.0.0)
178
193
  rack-test (2.2.0)
179
194
  rack (>= 1.3)
180
- rackup (2.2.1)
195
+ rackup (2.3.1)
181
196
  rack (>= 3)
182
- rails (7.1.5.1)
183
- actioncable (= 7.1.5.1)
184
- actionmailbox (= 7.1.5.1)
185
- actionmailer (= 7.1.5.1)
186
- actionpack (= 7.1.5.1)
187
- actiontext (= 7.1.5.1)
188
- actionview (= 7.1.5.1)
189
- activejob (= 7.1.5.1)
190
- activemodel (= 7.1.5.1)
191
- activerecord (= 7.1.5.1)
192
- activestorage (= 7.1.5.1)
193
- activesupport (= 7.1.5.1)
197
+ rails (7.2.3.1)
198
+ actioncable (= 7.2.3.1)
199
+ actionmailbox (= 7.2.3.1)
200
+ actionmailer (= 7.2.3.1)
201
+ actionpack (= 7.2.3.1)
202
+ actiontext (= 7.2.3.1)
203
+ actionview (= 7.2.3.1)
204
+ activejob (= 7.2.3.1)
205
+ activemodel (= 7.2.3.1)
206
+ activerecord (= 7.2.3.1)
207
+ activestorage (= 7.2.3.1)
208
+ activesupport (= 7.2.3.1)
194
209
  bundler (>= 1.15.0)
195
- railties (= 7.1.5.1)
196
- rails-dom-testing (2.2.0)
210
+ railties (= 7.2.3.1)
211
+ rails-dom-testing (2.3.0)
197
212
  activesupport (>= 5.0.0)
198
213
  minitest
199
214
  nokogiri (>= 1.6)
200
- rails-html-sanitizer (1.6.2)
201
- loofah (~> 2.21)
215
+ rails-html-sanitizer (1.7.0)
216
+ loofah (~> 2.25)
202
217
  nokogiri (>= 1.15.7, != 1.16.7, != 1.16.6, != 1.16.5, != 1.16.4, != 1.16.3, != 1.16.2, != 1.16.1, != 1.16.0.rc1, != 1.16.0)
203
- railties (7.1.5.1)
204
- actionpack (= 7.1.5.1)
205
- activesupport (= 7.1.5.1)
206
- irb
218
+ railties (7.2.3.1)
219
+ actionpack (= 7.2.3.1)
220
+ activesupport (= 7.2.3.1)
221
+ cgi
222
+ irb (~> 1.13)
207
223
  rackup (>= 1.0.0)
208
224
  rake (>= 12.2)
209
225
  thor (~> 1.0, >= 1.2.2)
226
+ tsort (>= 0.2)
210
227
  zeitwerk (~> 2.6)
211
- rainbow (2.2.2)
212
- rake
213
- rake (13.2.1)
214
- rdoc (6.11.0)
228
+ rainbow (3.1.1)
229
+ rake (13.3.1)
230
+ rdoc (7.2.0)
231
+ erb
215
232
  psych (>= 4.0.0)
216
- regexp_parser (2.10.0)
217
- reline (0.6.0)
233
+ tsort
234
+ regexp_parser (2.12.0)
235
+ reline (0.6.3)
218
236
  io-console (~> 0.5)
219
- rexml (3.4.0)
220
- rspec (3.13.0)
237
+ rexml (3.4.4)
238
+ rspec (3.13.2)
221
239
  rspec-core (~> 3.13.0)
222
240
  rspec-expectations (~> 3.13.0)
223
241
  rspec-mocks (~> 3.13.0)
224
- rspec-core (3.13.2)
242
+ rspec-core (3.13.6)
225
243
  rspec-support (~> 3.13.0)
226
- rspec-expectations (3.13.3)
244
+ rspec-expectations (3.13.5)
227
245
  diff-lcs (>= 1.2.0, < 2.0)
228
246
  rspec-support (~> 3.13.0)
229
- rspec-mocks (3.13.2)
247
+ rspec-mocks (3.13.8)
230
248
  diff-lcs (>= 1.2.0, < 2.0)
231
249
  rspec-support (~> 3.13.0)
232
- rspec-support (3.13.2)
233
- rubocop (1.66.1)
250
+ rspec-support (3.13.7)
251
+ rubocop (1.82.1)
234
252
  json (~> 2.3)
235
- language_server-protocol (>= 3.17.0)
253
+ language_server-protocol (~> 3.17.0.2)
254
+ lint_roller (~> 1.1.0)
236
255
  parallel (~> 1.10)
237
256
  parser (>= 3.3.0.2)
238
257
  rainbow (>= 2.2.2, < 4.0)
239
- regexp_parser (>= 2.4, < 3.0)
240
- rubocop-ast (>= 1.32.2, < 2.0)
258
+ regexp_parser (>= 2.9.3, < 3.0)
259
+ rubocop-ast (>= 1.48.0, < 2.0)
241
260
  ruby-progressbar (~> 1.7)
242
- unicode-display_width (>= 2.4.0, < 3.0)
243
- rubocop-ast (1.37.0)
244
- parser (>= 3.3.1.0)
245
- rubocop-performance (1.23.1)
246
- rubocop (>= 1.48.1, < 2.0)
247
- rubocop-ast (>= 1.31.1, < 2.0)
248
- rubocop-rails (2.29.1)
261
+ unicode-display_width (>= 2.4.0, < 4.0)
262
+ rubocop-ast (1.49.1)
263
+ parser (>= 3.3.7.2)
264
+ prism (~> 1.7)
265
+ rubocop-performance (1.26.1)
266
+ lint_roller (~> 1.1)
267
+ rubocop (>= 1.75.0, < 2.0)
268
+ rubocop-ast (>= 1.47.1, < 2.0)
269
+ rubocop-rails (2.34.3)
249
270
  activesupport (>= 4.2.0)
271
+ lint_roller (~> 1.1)
250
272
  rack (>= 1.1)
251
- rubocop (>= 1.52.0, < 2.0)
252
- rubocop-ast (>= 1.31.1, < 2.0)
253
- rubocop-rake (0.6.0)
254
- rubocop (~> 1.0)
255
- rubocop-rspec (3.4.0)
256
- rubocop (~> 1.61)
273
+ rubocop (>= 1.75.0, < 2.0)
274
+ rubocop-ast (>= 1.44.0, < 2.0)
275
+ rubocop-rake (0.7.1)
276
+ lint_roller (~> 1.1)
277
+ rubocop (>= 1.72.1)
278
+ rubocop-rspec (3.9.0)
279
+ lint_roller (~> 1.1)
280
+ rubocop (~> 1.81)
257
281
  ruby-progressbar (1.13.0)
258
282
  rubyzip (2.4.1)
259
- securerandom (0.3.2)
283
+ securerandom (0.4.1)
260
284
  simplecov (0.15.1)
261
285
  docile (~> 1.1.0)
262
286
  json (>= 1.8, < 3)
263
287
  simplecov-html (~> 0.10.0)
264
288
  simplecov-html (0.10.2)
265
- stringio (3.1.2)
289
+ stringio (3.2.0)
266
290
  test-unit (3.1.5)
267
291
  power_assert
268
- thor (1.3.2)
269
- timeout (0.4.3)
270
- tomlrb (2.0.3)
292
+ thor (1.5.0)
293
+ timeout (0.6.1)
294
+ tomlrb (2.0.4)
295
+ tsort (0.2.0)
271
296
  tzinfo (2.0.6)
272
297
  concurrent-ruby (~> 1.0)
273
- unicode-display_width (2.6.0)
274
- websocket-driver (0.7.7)
298
+ unicode-display_width (3.2.0)
299
+ unicode-emoji (~> 4.1)
300
+ unicode-emoji (4.2.0)
301
+ useragent (0.16.11)
302
+ websocket-driver (0.8.0)
275
303
  base64
276
304
  websocket-extensions (>= 0.1.0)
277
305
  websocket-extensions (0.1.5)
278
306
  with_env (1.1.0)
279
307
  xml-simple (1.1.9)
280
308
  rexml
281
- yard (0.9.34)
282
- zeitwerk (2.6.18)
309
+ yard (0.9.38)
310
+ zeitwerk (2.7.5)
283
311
 
284
312
  PLATFORMS
285
313
  aarch64-linux
@@ -290,22 +318,20 @@ PLATFORMS
290
318
  x86_64-linux
291
319
 
292
320
  DEPENDENCIES
293
- activesupport (< 7.2.0)
294
321
  appraisal (= 2.5.0)
295
322
  bundler (~> 2.1)
323
+ combustion (~> 1.3)
296
324
  data_taster!
297
325
  license_finder (~> 7.0)
298
- net-imap (< 0.5.0)
326
+ mysql2 (= 0.5.5)
299
327
  parser (>= 2.5, != 2.5.1.1)
300
- rainbow (= 2.2.2)
328
+ rainbow (= 3.1.1)
301
329
  rake (~> 13.0)
302
330
  rspec (~> 3.0)
303
331
  rubocop-powerhome!
304
- securerandom (< 0.4.0)
305
332
  simplecov (= 0.15.1)
306
333
  test-unit (= 3.1.5)
307
- yard (= 0.9.34)
308
- zeitwerk (< 2.7.0)
334
+ yard (= 0.9.38)
309
335
 
310
336
  BUNDLED WITH
311
337
  2.5.23
data/config.ru ADDED
@@ -0,0 +1,9 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "rubygems"
4
+ require "bundler"
5
+
6
+ Bundler.require :default, :development
7
+
8
+ Combustion.initialize! :all
9
+ run Combustion::Application
data/docs/CHANGELOG.md CHANGED
@@ -1,5 +1,52 @@
1
1
  ## [Unreleased]
2
2
 
3
+ ## [0.5.0] - 2026-07-08
4
+
5
+ ### Breaking changes
6
+
7
+ - Replace `DataTaster.config(source_client:, working_client:, include_insert:, ...)` with `DataTaster.setup(source:, output:, months:, list:)`
8
+ - Configure exports with a `MysqlSource` and an output adapter (`DatabaseOutput` or `FileOutput`) instead of raw MySQL clients
9
+ - Remove `include_insert` — export behavior is determined by the output adapter
10
+ - Remove `DataTaster::Sample` and `DataTaster.safe_execute` — export logic now lives in output adapters
11
+
12
+ ### Added
13
+
14
+ - **SQL file export**: `FileOutput` writes sanitized INSERT statements to a SQL file without mutating a target database
15
+ - **Adapter architecture**: `MysqlSource`, `Output`, `DatabaseOutput`, and `FileOutput` separate source reads from export destination
16
+ - **Inline sanitization on export**: Both file and database exports apply sanitization rules while building INSERT statements via `SanitizerExporter`, `ExportContext`, and `SqlLiteral`
17
+ - **`DataTaster.reset!`**: Clears configuration and confection between runs
18
+ - **`SqlLiteral`**: Formats Ruby values as MySQL literals with correct handling for JSON, binary/blob, temporal, and scalar types
19
+ - Expanded test coverage for adapters, SQL literals, and integration flows
20
+
21
+ ### Changed
22
+
23
+ - Database export (`DatabaseOutput`) inserts sanitized rows directly and still runs post-export UPDATE sanitization
24
+ - File export only includes tables defined in confection keys
25
+ - Default `schema_migrations` confection entry is provided by `DatabaseOutput` only
26
+ - Move row-expression sanitization (`wash_values`) into `Detergent`
27
+
28
+ ### Fixed
29
+
30
+ - Correctly treat JSON column values as quoted strings instead of binary hex literals
31
+
32
+ ### Dependencies and platform support
33
+
34
+ - Update rainbow to v3.x [#372](https://github.com/powerhome/power-tools/pull/372)
35
+ - Update yard to 0.9.38 to address [Cross-site Scripting vulnerability](https://github.com/powerhome/power-tools/security/dependabot/544) [#394](https://github.com/powerhome/power-tools/pull/394)
36
+ - Drop support for Ruby < 3.3 and Rails < 7.1 [#396](https://github.com/powerhome/power-tools/pull/396)
37
+ - Remove more Rails 6.0 config handling
38
+ - Standardize all libs to support ruby 3.0, ruby 3.3 x rails 6.1 through rails 7.2 [#359](https://github.com/powerhome/power-tools/pull/359)
39
+ - Lock activesupport requirement to ~> 7.0.8
40
+ - Setup test environment and add simple specs
41
+ - Fix issue reading database config to support Rails 6.0
42
+ - Add more specs, including actual run of a dump for default sanitization
43
+
44
+ ## [0.4.3] - 2025-07-28
45
+
46
+ ## [0.4.2] - 2025-02-27
47
+
48
+ - Lower nokogiri requirement to 1.14
49
+
3
50
  ## [0.4.1] - 2025-02-27
4
51
 
5
52
  - Fix date flavor for newer rails versions
@@ -0,0 +1,11 @@
1
+ # frozen_string_literal: true
2
+
3
+ # This file was generated by Appraisal
4
+
5
+ source "https://rubygems.org"
6
+
7
+ gem "rails", "7.1.5.2"
8
+ gem "rspec-rails", "~> 7.1.1"
9
+ gem "rubocop-powerhome", path: "../../rubocop-powerhome"
10
+
11
+ gemspec path: "../"