sequelizer 0.1.3 → 0.1.6

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.
Files changed (54) hide show
  1. checksums.yaml +4 -4
  2. data/.claude/settings.local.json +64 -0
  3. data/.devcontainer/.p10k.zsh +1713 -0
  4. data/.devcontainer/.zshrc +29 -0
  5. data/.devcontainer/Dockerfile +137 -0
  6. data/.devcontainer/copy-claude-credentials.sh +32 -0
  7. data/.devcontainer/devcontainer.json +102 -0
  8. data/.devcontainer/init-firewall.sh +123 -0
  9. data/.devcontainer/setup-credentials.sh +95 -0
  10. data/.github/workflows/test.yml +14 -0
  11. data/.gitignore +6 -1
  12. data/.overcommit.yml +73 -0
  13. data/.rubocop.yml +167 -0
  14. data/CHANGELOG.md +24 -0
  15. data/CLAUDE.md +219 -0
  16. data/Gemfile +8 -0
  17. data/Gemfile.lock +158 -0
  18. data/Guardfile +1 -1
  19. data/Rakefile +28 -3
  20. data/lib/sequel/extensions/cold_col.rb +436 -0
  21. data/lib/sequel/extensions/db_opts.rb +65 -4
  22. data/lib/sequel/extensions/make_readyable.rb +226 -0
  23. data/lib/sequel/extensions/more_sql.rb +76 -0
  24. data/lib/sequel/extensions/settable.rb +64 -0
  25. data/lib/sequel/extensions/sql_recorder.rb +85 -0
  26. data/lib/sequel/extensions/unionize.rb +169 -0
  27. data/lib/sequel/extensions/usable.rb +44 -0
  28. data/lib/sequelizer/cli.rb +61 -18
  29. data/lib/sequelizer/connection_maker.rb +54 -72
  30. data/lib/sequelizer/env_config.rb +6 -6
  31. data/lib/sequelizer/gemfile_modifier.rb +23 -21
  32. data/lib/sequelizer/monkey_patches/database_in_after_connect.rb +7 -5
  33. data/lib/sequelizer/options.rb +97 -18
  34. data/lib/sequelizer/options_hash.rb +2 -0
  35. data/lib/sequelizer/version.rb +3 -1
  36. data/lib/sequelizer/yaml_config.rb +9 -3
  37. data/lib/sequelizer.rb +68 -12
  38. data/sequelizer.gemspec +12 -7
  39. data/test/lib/sequel/extensions/test_cold_col.rb +251 -0
  40. data/test/lib/sequel/extensions/test_db_opts.rb +10 -8
  41. data/test/lib/sequel/extensions/test_make_readyable.rb +259 -0
  42. data/test/lib/sequel/extensions/test_more_sql.rb +132 -0
  43. data/test/lib/sequel/extensions/test_settable.rb +109 -0
  44. data/test/lib/sequel/extensions/test_sql_recorder.rb +231 -0
  45. data/test/lib/sequel/extensions/test_unionize.rb +76 -0
  46. data/test/lib/sequel/extensions/test_usable.rb +15 -0
  47. data/test/lib/sequelizer/test_connection_maker.rb +21 -17
  48. data/test/lib/sequelizer/test_env_config.rb +5 -2
  49. data/test/lib/sequelizer/test_gemfile_modifier.rb +7 -6
  50. data/test/lib/sequelizer/test_options.rb +14 -9
  51. data/test/lib/sequelizer/test_yaml_config.rb +13 -12
  52. data/test/test_helper.rb +36 -8
  53. metadata +112 -26
  54. data/.travis.yml +0 -21
data/test/test_helper.rb CHANGED
@@ -1,16 +1,44 @@
1
+ # Disable Rails plugins for Minitest to avoid version conflicts
2
+ ENV['MT_NO_PLUGINS'] = '1'
3
+
4
+ # SimpleCov must be loaded before application code
5
+ require 'simplecov'
6
+
7
+ SimpleCov.start do
8
+ add_filter '/test/'
9
+ add_filter '/vendor/'
10
+
11
+ add_group 'Core', 'lib/sequelizer'
12
+ add_group 'Sequel Extensions', 'lib/sequel'
13
+
14
+ # Temporarily lower minimum coverage to see what we're working with
15
+ minimum_coverage 70
16
+ minimum_coverage_by_file 40
17
+
18
+ # Generate both HTML and JSON for easier analysis
19
+ formatter SimpleCov::Formatter::MultiFormatter.new([
20
+ SimpleCov::Formatter::HTMLFormatter,
21
+ SimpleCov::Formatter::SimpleFormatter,
22
+ ])
23
+ end
24
+
1
25
  require 'minitest/autorun'
2
- require "sequel"
26
+ require 'sequel'
27
+
28
+ module Minitest
29
+ class Test
30
+
31
+ def stub_const(klass, const, replace)
32
+ klass.send(:const_set, const, replace)
33
+ return unless block_given?
3
34
 
4
- class Minitest::Test
5
- def stub_const(klass, const, replace, &block)
6
- klass.send(:const_set, const, replace)
7
- if block_given?
8
35
  yield
9
36
  remove_stubbed_const(klass, const)
10
37
  end
11
- end
12
38
 
13
- def remove_stubbed_const(klass, const)
14
- klass.send(:remove_const, const)
39
+ def remove_stubbed_const(klass, const)
40
+ klass.send(:remove_const, const)
41
+ end
42
+
15
43
  end
16
44
  end
metadata CHANGED
@@ -1,14 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: sequelizer
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.3
4
+ version: 0.1.6
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ryan Duryea
8
- autorequire:
9
8
  bindir: bin
10
9
  cert_chain: []
11
- date: 2022-05-09 00:00:00.000000000 Z
10
+ date: 1980-01-02 00:00:00.000000000 Z
12
11
  dependencies:
13
12
  - !ruby/object:Gem::Dependency
14
13
  name: bundler
@@ -66,6 +65,20 @@ dependencies:
66
65
  - - "~>"
67
66
  - !ruby/object:Gem::Version
68
67
  version: '5.3'
68
+ - !ruby/object:Gem::Dependency
69
+ name: pg
70
+ requirement: !ruby/object:Gem::Requirement
71
+ requirements:
72
+ - - "~>"
73
+ - !ruby/object:Gem::Version
74
+ version: '1.0'
75
+ type: :development
76
+ prerelease: false
77
+ version_requirements: !ruby/object:Gem::Requirement
78
+ requirements:
79
+ - - "~>"
80
+ - !ruby/object:Gem::Version
81
+ version: '1.0'
69
82
  - !ruby/object:Gem::Dependency
70
83
  name: rake
71
84
  requirement: !ruby/object:Gem::Requirement
@@ -81,19 +94,61 @@ dependencies:
81
94
  - !ruby/object:Gem::Version
82
95
  version: '12.0'
83
96
  - !ruby/object:Gem::Dependency
84
- name: sequel
97
+ name: rubocop
85
98
  requirement: !ruby/object:Gem::Requirement
86
99
  requirements:
87
100
  - - "~>"
88
101
  - !ruby/object:Gem::Version
89
- version: '5.0'
102
+ version: '1.0'
103
+ type: :development
104
+ prerelease: false
105
+ version_requirements: !ruby/object:Gem::Requirement
106
+ requirements:
107
+ - - "~>"
108
+ - !ruby/object:Gem::Version
109
+ version: '1.0'
110
+ - !ruby/object:Gem::Dependency
111
+ name: rubocop-minitest
112
+ requirement: !ruby/object:Gem::Requirement
113
+ requirements:
114
+ - - "~>"
115
+ - !ruby/object:Gem::Version
116
+ version: '0.25'
117
+ type: :development
118
+ prerelease: false
119
+ version_requirements: !ruby/object:Gem::Requirement
120
+ requirements:
121
+ - - "~>"
122
+ - !ruby/object:Gem::Version
123
+ version: '0.25'
124
+ - !ruby/object:Gem::Dependency
125
+ name: simplecov
126
+ requirement: !ruby/object:Gem::Requirement
127
+ requirements:
128
+ - - "~>"
129
+ - !ruby/object:Gem::Version
130
+ version: '0.22'
131
+ type: :development
132
+ prerelease: false
133
+ version_requirements: !ruby/object:Gem::Requirement
134
+ requirements:
135
+ - - "~>"
136
+ - !ruby/object:Gem::Version
137
+ version: '0.22'
138
+ - !ruby/object:Gem::Dependency
139
+ name: activesupport
140
+ requirement: !ruby/object:Gem::Requirement
141
+ requirements:
142
+ - - "~>"
143
+ - !ruby/object:Gem::Version
144
+ version: '7.0'
90
145
  type: :runtime
91
146
  prerelease: false
92
147
  version_requirements: !ruby/object:Gem::Requirement
93
148
  requirements:
94
149
  - - "~>"
95
150
  - !ruby/object:Gem::Version
96
- version: '5.0'
151
+ version: '7.0'
97
152
  - !ruby/object:Gem::Dependency
98
153
  name: dotenv
99
154
  requirement: !ruby/object:Gem::Requirement
@@ -109,33 +164,47 @@ dependencies:
109
164
  - !ruby/object:Gem::Version
110
165
  version: '2.1'
111
166
  - !ruby/object:Gem::Dependency
112
- name: thor
167
+ name: hashie
113
168
  requirement: !ruby/object:Gem::Requirement
114
169
  requirements:
115
170
  - - "~>"
116
171
  - !ruby/object:Gem::Version
117
- version: '1.0'
172
+ version: '3.2'
118
173
  type: :runtime
119
174
  prerelease: false
120
175
  version_requirements: !ruby/object:Gem::Requirement
121
176
  requirements:
122
177
  - - "~>"
123
178
  - !ruby/object:Gem::Version
124
- version: '1.0'
179
+ version: '3.2'
125
180
  - !ruby/object:Gem::Dependency
126
- name: hashie
181
+ name: sequel
127
182
  requirement: !ruby/object:Gem::Requirement
128
183
  requirements:
129
184
  - - "~>"
130
185
  - !ruby/object:Gem::Version
131
- version: '3.2'
186
+ version: '5.93'
132
187
  type: :runtime
133
188
  prerelease: false
134
189
  version_requirements: !ruby/object:Gem::Requirement
135
190
  requirements:
136
191
  - - "~>"
137
192
  - !ruby/object:Gem::Version
138
- version: '3.2'
193
+ version: '5.93'
194
+ - !ruby/object:Gem::Dependency
195
+ name: thor
196
+ requirement: !ruby/object:Gem::Requirement
197
+ requirements:
198
+ - - "~>"
199
+ - !ruby/object:Gem::Version
200
+ version: '1.0'
201
+ type: :runtime
202
+ prerelease: false
203
+ version_requirements: !ruby/object:Gem::Requirement
204
+ requirements:
205
+ - - "~>"
206
+ - !ruby/object:Gem::Version
207
+ version: '1.0'
139
208
  description: Easily establish a connection to a database via Sequel gem using options
140
209
  specified in config/database.yml or .env files
141
210
  email:
@@ -145,10 +214,22 @@ executables:
145
214
  extensions: []
146
215
  extra_rdoc_files: []
147
216
  files:
217
+ - ".claude/settings.local.json"
218
+ - ".devcontainer/.p10k.zsh"
219
+ - ".devcontainer/.zshrc"
220
+ - ".devcontainer/Dockerfile"
221
+ - ".devcontainer/copy-claude-credentials.sh"
222
+ - ".devcontainer/devcontainer.json"
223
+ - ".devcontainer/init-firewall.sh"
224
+ - ".devcontainer/setup-credentials.sh"
225
+ - ".github/workflows/test.yml"
148
226
  - ".gitignore"
149
- - ".travis.yml"
227
+ - ".overcommit.yml"
228
+ - ".rubocop.yml"
150
229
  - CHANGELOG.md
230
+ - CLAUDE.md
151
231
  - Gemfile
232
+ - Gemfile.lock
152
233
  - Guardfile
153
234
  - LICENSE.txt
154
235
  - README.md
@@ -157,8 +238,14 @@ files:
157
238
  - examples/database.with_one_set_of_options.yml
158
239
  - examples/database.yml
159
240
  - examples/dot_env.txt
241
+ - lib/sequel/extensions/cold_col.rb
160
242
  - lib/sequel/extensions/db_opts.rb
243
+ - lib/sequel/extensions/make_readyable.rb
244
+ - lib/sequel/extensions/more_sql.rb
161
245
  - lib/sequel/extensions/settable.rb
246
+ - lib/sequel/extensions/sql_recorder.rb
247
+ - lib/sequel/extensions/unionize.rb
248
+ - lib/sequel/extensions/usable.rb
162
249
  - lib/sequelizer.rb
163
250
  - lib/sequelizer/cli.rb
164
251
  - lib/sequelizer/connection_maker.rb
@@ -170,7 +257,14 @@ files:
170
257
  - lib/sequelizer/version.rb
171
258
  - lib/sequelizer/yaml_config.rb
172
259
  - sequelizer.gemspec
260
+ - test/lib/sequel/extensions/test_cold_col.rb
173
261
  - test/lib/sequel/extensions/test_db_opts.rb
262
+ - test/lib/sequel/extensions/test_make_readyable.rb
263
+ - test/lib/sequel/extensions/test_more_sql.rb
264
+ - test/lib/sequel/extensions/test_settable.rb
265
+ - test/lib/sequel/extensions/test_sql_recorder.rb
266
+ - test/lib/sequel/extensions/test_unionize.rb
267
+ - test/lib/sequel/extensions/test_usable.rb
174
268
  - test/lib/sequelizer/test_connection_maker.rb
175
269
  - test/lib/sequelizer/test_env_config.rb
176
270
  - test/lib/sequelizer/test_gemfile_modifier.rb
@@ -180,8 +274,8 @@ files:
180
274
  homepage: https://github.com/outcomesinsights/sequelizer
181
275
  licenses:
182
276
  - MIT
183
- metadata: {}
184
- post_install_message:
277
+ metadata:
278
+ rubygems_mfa_required: 'true'
185
279
  rdoc_options: []
186
280
  require_paths:
187
281
  - lib
@@ -189,22 +283,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
189
283
  requirements:
190
284
  - - ">="
191
285
  - !ruby/object:Gem::Version
192
- version: '0'
286
+ version: 3.2.0
193
287
  required_rubygems_version: !ruby/object:Gem::Requirement
194
288
  requirements:
195
289
  - - ">="
196
290
  - !ruby/object:Gem::Version
197
291
  version: '0'
198
292
  requirements: []
199
- rubygems_version: 3.1.4
200
- signing_key:
293
+ rubygems_version: 3.6.7
201
294
  specification_version: 4
202
295
  summary: Sequel database connections via config/database.yml or .env
203
- test_files:
204
- - test/lib/sequel/extensions/test_db_opts.rb
205
- - test/lib/sequelizer/test_connection_maker.rb
206
- - test/lib/sequelizer/test_env_config.rb
207
- - test/lib/sequelizer/test_gemfile_modifier.rb
208
- - test/lib/sequelizer/test_options.rb
209
- - test/lib/sequelizer/test_yaml_config.rb
210
- - test/test_helper.rb
296
+ test_files: []
data/.travis.yml DELETED
@@ -1,21 +0,0 @@
1
- language: ruby
2
- rvm:
3
- - 2.4
4
- sudo: false
5
- env:
6
- secure: xFZ00J+axPQADZ2Dqc61Ljo56vT8/uwVzOFw9zxKQs3ThMfI8+OvlI7LV8sf0XPC5Cp+BObYCxzsqIOY8M8yo+NfknlNmlrQaPqi3lf+3tKvEFeFiQZ/jvbGReIdxRdPViVls1W3zEDdRwe9zUAiz7C+xBYCRfZRoGjfm7gx/4c=
7
- before_install:
8
- - gem install bundler
9
- - bundle
10
- script: bundle exec rake test
11
- jobs:
12
- include:
13
- - stage: deploy
14
- before_install: gem install tping
15
- install: true
16
- script:
17
- - tping --token $TRAVIS_PRO_TOKEN --user outcomesinsights --repo t_shank --pro --branch $TRAVIS_BRANCH
18
- - tping --token $TRAVIS_PRO_TOKEN --user outcomesinsights --repo jigsaw-diagram-editor --pro --branch $TRAVIS_BRANCH
19
- notifications:
20
- slack:
21
- secure: b+ao+3BuBtM5nj/m1gP5AbrrTIdQiV/HkT1deXvY4gg5xZQDheDeLmOI7wSFP1o67BrwrAY7rpcwIP7S/99fudrU3rKI3+GLn8KoefdAv78Z4tsMs9rodJJ3Z3ZmnEdMK2i2+hCLJ1pzZ9Ae3e+GDHsBPkTz4+TNE1lrOPxDIUo=