hanami 2.1.1 → 2.2.0.beta2
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 +4 -4
- data/CHANGELOG.md +33 -0
- data/README.md +7 -7
- data/hanami.gemspec +6 -6
- data/lib/hanami/app.rb +5 -1
- data/lib/hanami/config/db.rb +33 -0
- data/lib/hanami/config.rb +36 -9
- data/lib/hanami/constants.rb +4 -0
- data/lib/hanami/extensions/db/repo.rb +103 -0
- data/lib/hanami/extensions.rb +4 -0
- data/lib/hanami/helpers/form_helper/form_builder.rb +4 -6
- data/lib/hanami/provider/source.rb +16 -0
- data/lib/hanami/provider_registrar.rb +28 -0
- data/lib/hanami/providers/assets.rb +2 -20
- data/lib/hanami/providers/db/adapter.rb +75 -0
- data/lib/hanami/providers/db/adapters.rb +50 -0
- data/lib/hanami/providers/db/config.rb +62 -0
- data/lib/hanami/providers/db/gateway.rb +70 -0
- data/lib/hanami/providers/db/sql_adapter.rb +100 -0
- data/lib/hanami/providers/db.rb +298 -0
- data/lib/hanami/providers/db_logging.rb +22 -0
- data/lib/hanami/providers/inflector.rb +1 -1
- data/lib/hanami/providers/logger.rb +1 -1
- data/lib/hanami/providers/rack.rb +3 -3
- data/lib/hanami/providers/relations.rb +31 -0
- data/lib/hanami/providers/routes.rb +2 -14
- data/lib/hanami/rake_tasks.rb +8 -7
- data/lib/hanami/slice.rb +84 -4
- data/lib/hanami/version.rb +1 -1
- data/lib/hanami.rb +3 -0
- data/spec/integration/container/provider_environment_spec.rb +52 -0
- data/spec/integration/db/auto_registration_spec.rb +39 -0
- data/spec/integration/db/commands_spec.rb +80 -0
- data/spec/integration/db/db_inflector_spec.rb +57 -0
- data/spec/integration/db/db_slices_spec.rb +332 -0
- data/spec/integration/db/db_spec.rb +245 -0
- data/spec/integration/db/gateways_spec.rb +320 -0
- data/spec/integration/db/logging_spec.rb +238 -0
- data/spec/integration/db/mappers_spec.rb +84 -0
- data/spec/integration/db/provider_config_spec.rb +88 -0
- data/spec/integration/db/provider_spec.rb +35 -0
- data/spec/integration/db/relations_spec.rb +60 -0
- data/spec/integration/db/repo_spec.rb +215 -0
- data/spec/integration/db/slices_importing_from_parent.rb +130 -0
- data/spec/integration/slices/slice_configuration_spec.rb +4 -4
- data/spec/support/app_integration.rb +3 -0
- data/spec/unit/hanami/config/db_spec.rb +38 -0
- data/spec/unit/hanami/config/router_spec.rb +1 -1
- data/spec/unit/hanami/helpers/form_helper_spec.rb +35 -4
- data/spec/unit/hanami/providers/db/config/default_config_spec.rb +100 -0
- data/spec/unit/hanami/providers/db/config_spec.rb +156 -0
- data/spec/unit/hanami/slice_spec.rb +32 -0
- data/spec/unit/hanami/version_spec.rb +1 -1
- metadata +72 -20
@@ -0,0 +1,100 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require "dry/system"
|
4
|
+
require "hanami/providers/db"
|
5
|
+
|
6
|
+
RSpec.describe "Hanami::Providers::DB / Config / Default config", :app_integration do
|
7
|
+
subject(:config) { provider.source.config }
|
8
|
+
|
9
|
+
let(:provider) {
|
10
|
+
Hanami.app.prepare
|
11
|
+
Hanami.app.configure_provider(:db)
|
12
|
+
Hanami.app.container.providers[:db]
|
13
|
+
}
|
14
|
+
|
15
|
+
before do
|
16
|
+
module TestApp
|
17
|
+
class App < Hanami::App
|
18
|
+
end
|
19
|
+
end
|
20
|
+
end
|
21
|
+
|
22
|
+
specify %(relations_path = "relations") do
|
23
|
+
expect(config)
|
24
|
+
end
|
25
|
+
|
26
|
+
describe "sql adapter" do
|
27
|
+
before do
|
28
|
+
skip_defaults if respond_to?(:skip_defaults)
|
29
|
+
config.adapter(:sql).configure_for_database("mysql://localhost/test_app_development")
|
30
|
+
end
|
31
|
+
|
32
|
+
describe "plugins" do
|
33
|
+
specify do
|
34
|
+
expect(config.adapter(:sql).plugins).to match [
|
35
|
+
[{relations: :instrumentation}, instance_of(Proc)],
|
36
|
+
[{relations: :auto_restrictions}, nil],
|
37
|
+
]
|
38
|
+
end
|
39
|
+
|
40
|
+
describe "skipping defaults" do
|
41
|
+
def skip_defaults
|
42
|
+
config.adapter(:sql).skip_defaults :plugins
|
43
|
+
end
|
44
|
+
|
45
|
+
it "configures no plugins" do
|
46
|
+
expect(config.adapter(:sql).plugins).to eq []
|
47
|
+
end
|
48
|
+
end
|
49
|
+
end
|
50
|
+
|
51
|
+
describe "extensions" do
|
52
|
+
specify do
|
53
|
+
expect(config.adapter(:sql).extensions).to eq [
|
54
|
+
:caller_logging,
|
55
|
+
:error_sql,
|
56
|
+
:sql_comments
|
57
|
+
]
|
58
|
+
end
|
59
|
+
|
60
|
+
describe "skipping defaults" do
|
61
|
+
def skip_defaults
|
62
|
+
config.adapter(:sql).skip_defaults :extensions
|
63
|
+
end
|
64
|
+
|
65
|
+
it "configures no extensions" do
|
66
|
+
expect(config.adapter(:sql).extensions).to eq []
|
67
|
+
end
|
68
|
+
end
|
69
|
+
end
|
70
|
+
|
71
|
+
describe "skipping all defaults" do
|
72
|
+
def skip_defaults
|
73
|
+
config.adapter(:sql).skip_defaults
|
74
|
+
end
|
75
|
+
|
76
|
+
it "configures no plugins or extensions" do
|
77
|
+
expect(config.adapter(:sql).plugins).to eq []
|
78
|
+
expect(config.adapter(:sql).extensions).to eq []
|
79
|
+
end
|
80
|
+
end
|
81
|
+
end
|
82
|
+
|
83
|
+
describe "sql adapter for postgres" do
|
84
|
+
before do
|
85
|
+
config.adapter(:sql).configure_for_database("postgresql://localhost/test_app_development")
|
86
|
+
end
|
87
|
+
|
88
|
+
specify "extensions" do
|
89
|
+
expect(config.adapters[:sql].extensions).to eq [
|
90
|
+
:caller_logging,
|
91
|
+
:error_sql,
|
92
|
+
:sql_comments,
|
93
|
+
:pg_array,
|
94
|
+
:pg_enum,
|
95
|
+
:pg_json,
|
96
|
+
:pg_range
|
97
|
+
]
|
98
|
+
end
|
99
|
+
end
|
100
|
+
end
|
@@ -0,0 +1,156 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require "dry/system"
|
4
|
+
require "hanami/providers/db"
|
5
|
+
|
6
|
+
RSpec.describe "Hanami::Providers::DB.config", :app_integration do
|
7
|
+
subject(:config) { provider.source.config }
|
8
|
+
|
9
|
+
let(:provider) {
|
10
|
+
Hanami.app.prepare
|
11
|
+
Hanami.app.configure_provider(:db)
|
12
|
+
Hanami.app.container.providers[:db]
|
13
|
+
}
|
14
|
+
|
15
|
+
before do
|
16
|
+
module TestApp
|
17
|
+
class App < Hanami::App
|
18
|
+
end
|
19
|
+
end
|
20
|
+
end
|
21
|
+
|
22
|
+
describe "#adapter" do
|
23
|
+
it "adds an adapter" do
|
24
|
+
expect { config.adapter(:yaml) }
|
25
|
+
.to change { config.adapters.to_h }
|
26
|
+
.to hash_including(:yaml)
|
27
|
+
end
|
28
|
+
|
29
|
+
it "yields the adapter for configuration" do
|
30
|
+
expect { |b| config.adapter(:yaml, &b) }
|
31
|
+
.to yield_with_args(an_instance_of(Hanami::Providers::DB::Adapter))
|
32
|
+
end
|
33
|
+
end
|
34
|
+
|
35
|
+
describe "#any_adapter" do
|
36
|
+
it "adds an adapter keyed without a name" do
|
37
|
+
expect { config.any_adapter }
|
38
|
+
.to change { config.adapters.to_h }
|
39
|
+
.to hash_including(nil)
|
40
|
+
end
|
41
|
+
|
42
|
+
it "yields the adapter for configuration" do
|
43
|
+
expect { |b| config.any_adapter(&b) }
|
44
|
+
.to yield_with_args(an_instance_of(Hanami::Providers::DB::Adapter))
|
45
|
+
end
|
46
|
+
end
|
47
|
+
|
48
|
+
describe "adapters" do
|
49
|
+
subject(:adapter) { config.adapter(:yaml) }
|
50
|
+
|
51
|
+
describe "#plugin" do
|
52
|
+
it "adds a plugin without a block" do
|
53
|
+
expect { adapter.plugin relations: :foo }
|
54
|
+
.to change { adapter.plugins }
|
55
|
+
.to [[{relations: :foo}, nil]]
|
56
|
+
end
|
57
|
+
|
58
|
+
it "adds a plugin with a block" do
|
59
|
+
block = -> plugin_config { }
|
60
|
+
|
61
|
+
expect {
|
62
|
+
adapter.plugin(relations: :foo, &block)
|
63
|
+
}
|
64
|
+
.to change { adapter.plugins }
|
65
|
+
.to [[{relations: :foo}, block]]
|
66
|
+
end
|
67
|
+
end
|
68
|
+
|
69
|
+
describe "#plugins" do
|
70
|
+
it "can be cleared" do
|
71
|
+
adapter.plugin relations: :foo
|
72
|
+
|
73
|
+
expect { adapter.plugins.clear }
|
74
|
+
.to change { adapter.plugins }
|
75
|
+
.to []
|
76
|
+
end
|
77
|
+
end
|
78
|
+
|
79
|
+
describe "#gateway_cache_keys" do
|
80
|
+
it "includes the configured extensions" do
|
81
|
+
expect(adapter.gateway_cache_keys).to eq({})
|
82
|
+
end
|
83
|
+
end
|
84
|
+
|
85
|
+
describe "#gateway_options" do
|
86
|
+
specify do
|
87
|
+
expect(adapter.gateway_options).to eq({})
|
88
|
+
end
|
89
|
+
end
|
90
|
+
|
91
|
+
describe "#clear" do
|
92
|
+
it "clears previously configured plugins" do
|
93
|
+
adapter.plugin relations: :foo
|
94
|
+
|
95
|
+
expect { adapter.clear }.to change { adapter.plugins }.to([])
|
96
|
+
end
|
97
|
+
end
|
98
|
+
|
99
|
+
describe ":sql adapter" do
|
100
|
+
subject(:adapter) { config.adapter(:sql) }
|
101
|
+
|
102
|
+
describe "#extension" do
|
103
|
+
it "adds an extension" do
|
104
|
+
adapter.clear
|
105
|
+
expect { adapter.extension :foo }
|
106
|
+
.to change { adapter.extensions }
|
107
|
+
.to [:foo]
|
108
|
+
end
|
109
|
+
|
110
|
+
it "adds multiple extensions" do
|
111
|
+
adapter.clear
|
112
|
+
expect { adapter.extension :foo, :bar }
|
113
|
+
.to change { adapter.extensions }
|
114
|
+
.to [:foo, :bar]
|
115
|
+
end
|
116
|
+
end
|
117
|
+
|
118
|
+
describe "#extensions" do
|
119
|
+
it "can be cleareed" do
|
120
|
+
adapter.extension :foo
|
121
|
+
|
122
|
+
expect { adapter.extensions.clear }
|
123
|
+
.to change { adapter.extensions }
|
124
|
+
.to []
|
125
|
+
end
|
126
|
+
end
|
127
|
+
|
128
|
+
describe "#gateway_cache_keys" do
|
129
|
+
it "includes the configured extensions" do
|
130
|
+
adapter.clear
|
131
|
+
adapter.extension :foo, :bar
|
132
|
+
expect(adapter.gateway_cache_keys).to eq(extensions: [:foo, :bar])
|
133
|
+
end
|
134
|
+
end
|
135
|
+
|
136
|
+
describe "#gateway_options" do
|
137
|
+
it "includes the configured extensions" do
|
138
|
+
adapter.clear
|
139
|
+
adapter.extension :foo, :bar
|
140
|
+
expect(adapter.gateway_options).to eq(extensions: [:foo, :bar])
|
141
|
+
end
|
142
|
+
end
|
143
|
+
|
144
|
+
describe "#clear" do
|
145
|
+
it "clears previously configured plugins and extensions" do
|
146
|
+
adapter.plugin relations: :foo
|
147
|
+
adapter.extension :foo
|
148
|
+
|
149
|
+
expect { adapter.clear }
|
150
|
+
.to change { adapter.plugins }.to([])
|
151
|
+
.and change { adapter.extensions }.to([])
|
152
|
+
end
|
153
|
+
end
|
154
|
+
end
|
155
|
+
end
|
156
|
+
end
|
@@ -8,6 +8,26 @@ RSpec.describe Hanami::Slice, :app_integration do
|
|
8
8
|
end
|
9
9
|
end
|
10
10
|
|
11
|
+
describe ".app" do
|
12
|
+
subject(:slice) { Hanami.app.register_slice(:main) }
|
13
|
+
|
14
|
+
it "returns the top-level Hanami App slice" do
|
15
|
+
expect(slice.app).to eq Hanami.app
|
16
|
+
end
|
17
|
+
end
|
18
|
+
|
19
|
+
describe ".app?" do
|
20
|
+
it "returns true if the slice is Hanami.app" do
|
21
|
+
subject = Hanami.app
|
22
|
+
expect(subject.app?).to eq true
|
23
|
+
end
|
24
|
+
|
25
|
+
it "returns false if the slice is not Hanami.app" do
|
26
|
+
subject = Hanami.app.register_slice(:main)
|
27
|
+
expect(subject.app?).to eq false
|
28
|
+
end
|
29
|
+
end
|
30
|
+
|
11
31
|
describe ".environment" do
|
12
32
|
subject(:slice) { Hanami.app.register_slice(:main) }
|
13
33
|
|
@@ -46,4 +66,16 @@ RSpec.describe Hanami::Slice, :app_integration do
|
|
46
66
|
.to raise_error Hanami::SliceLoadError, /Slice must have a class name/
|
47
67
|
end
|
48
68
|
end
|
69
|
+
|
70
|
+
describe ".source_path" do
|
71
|
+
it "provides a path to the app directory for Hanami.app" do
|
72
|
+
subject = Hanami.app
|
73
|
+
expect(subject.source_path).to eq Hanami.app.root.join("app")
|
74
|
+
end
|
75
|
+
|
76
|
+
it "provides a path to the slice root for a Slice" do
|
77
|
+
subject = Hanami.app.register_slice(:main)
|
78
|
+
expect(subject.source_path).to eq subject.root
|
79
|
+
end
|
80
|
+
end
|
49
81
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: hanami
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.
|
4
|
+
version: 2.2.0.beta2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Luca Guidi
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2024-
|
11
|
+
date: 2024-09-25 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -37,6 +37,9 @@ dependencies:
|
|
37
37
|
- - "~>"
|
38
38
|
- !ruby/object:Gem::Version
|
39
39
|
version: '1.0'
|
40
|
+
- - ">="
|
41
|
+
- !ruby/object:Gem::Version
|
42
|
+
version: 1.2.0
|
40
43
|
- - "<"
|
41
44
|
- !ruby/object:Gem::Version
|
42
45
|
version: '2'
|
@@ -47,6 +50,9 @@ dependencies:
|
|
47
50
|
- - "~>"
|
48
51
|
- !ruby/object:Gem::Version
|
49
52
|
version: '1.0'
|
53
|
+
- - ">="
|
54
|
+
- !ruby/object:Gem::Version
|
55
|
+
version: 1.2.0
|
50
56
|
- - "<"
|
51
57
|
- !ruby/object:Gem::Version
|
52
58
|
version: '2'
|
@@ -77,6 +83,9 @@ dependencies:
|
|
77
83
|
- - "~>"
|
78
84
|
- !ruby/object:Gem::Version
|
79
85
|
version: '1.0'
|
86
|
+
- - ">="
|
87
|
+
- !ruby/object:Gem::Version
|
88
|
+
version: 1.1.0
|
80
89
|
- - "<"
|
81
90
|
- !ruby/object:Gem::Version
|
82
91
|
version: '2'
|
@@ -87,6 +96,9 @@ dependencies:
|
|
87
96
|
- - "~>"
|
88
97
|
- !ruby/object:Gem::Version
|
89
98
|
version: '1.0'
|
99
|
+
- - ">="
|
100
|
+
- !ruby/object:Gem::Version
|
101
|
+
version: 1.1.0
|
90
102
|
- - "<"
|
91
103
|
- !ruby/object:Gem::Version
|
92
104
|
version: '2'
|
@@ -120,22 +132,16 @@ dependencies:
|
|
120
132
|
name: dry-system
|
121
133
|
requirement: !ruby/object:Gem::Requirement
|
122
134
|
requirements:
|
123
|
-
- -
|
124
|
-
- !ruby/object:Gem::Version
|
125
|
-
version: '1.0'
|
126
|
-
- - "<"
|
135
|
+
- - '='
|
127
136
|
- !ruby/object:Gem::Version
|
128
|
-
version:
|
137
|
+
version: 1.1.0.beta2
|
129
138
|
type: :runtime
|
130
139
|
prerelease: false
|
131
140
|
version_requirements: !ruby/object:Gem::Requirement
|
132
141
|
requirements:
|
133
|
-
- -
|
134
|
-
- !ruby/object:Gem::Version
|
135
|
-
version: '1.0'
|
136
|
-
- - "<"
|
142
|
+
- - '='
|
137
143
|
- !ruby/object:Gem::Version
|
138
|
-
version:
|
144
|
+
version: 1.1.0.beta2
|
139
145
|
- !ruby/object:Gem::Dependency
|
140
146
|
name: dry-logger
|
141
147
|
requirement: !ruby/object:Gem::Requirement
|
@@ -160,30 +166,30 @@ dependencies:
|
|
160
166
|
name: hanami-cli
|
161
167
|
requirement: !ruby/object:Gem::Requirement
|
162
168
|
requirements:
|
163
|
-
- -
|
169
|
+
- - '='
|
164
170
|
- !ruby/object:Gem::Version
|
165
|
-
version:
|
171
|
+
version: 2.2.0.beta2
|
166
172
|
type: :runtime
|
167
173
|
prerelease: false
|
168
174
|
version_requirements: !ruby/object:Gem::Requirement
|
169
175
|
requirements:
|
170
|
-
- -
|
176
|
+
- - '='
|
171
177
|
- !ruby/object:Gem::Version
|
172
|
-
version:
|
178
|
+
version: 2.2.0.beta2
|
173
179
|
- !ruby/object:Gem::Dependency
|
174
180
|
name: hanami-utils
|
175
181
|
requirement: !ruby/object:Gem::Requirement
|
176
182
|
requirements:
|
177
183
|
- - "~>"
|
178
184
|
- !ruby/object:Gem::Version
|
179
|
-
version:
|
185
|
+
version: 2.2.beta
|
180
186
|
type: :runtime
|
181
187
|
prerelease: false
|
182
188
|
version_requirements: !ruby/object:Gem::Requirement
|
183
189
|
requirements:
|
184
190
|
- - "~>"
|
185
191
|
- !ruby/object:Gem::Version
|
186
|
-
version:
|
192
|
+
version: 2.2.beta
|
187
193
|
- !ruby/object:Gem::Dependency
|
188
194
|
name: zeitwerk
|
189
195
|
requirement: !ruby/object:Gem::Requirement
|
@@ -262,6 +268,7 @@ files:
|
|
262
268
|
- lib/hanami/config/actions/cookies.rb
|
263
269
|
- lib/hanami/config/actions/sessions.rb
|
264
270
|
- lib/hanami/config/assets.rb
|
271
|
+
- lib/hanami/config/db.rb
|
265
272
|
- lib/hanami/config/logger.rb
|
266
273
|
- lib/hanami/config/null_config.rb
|
267
274
|
- lib/hanami/config/router.rb
|
@@ -272,6 +279,7 @@ files:
|
|
272
279
|
- lib/hanami/extensions.rb
|
273
280
|
- lib/hanami/extensions/action.rb
|
274
281
|
- lib/hanami/extensions/action/slice_configured_action.rb
|
282
|
+
- lib/hanami/extensions/db/repo.rb
|
275
283
|
- lib/hanami/extensions/router/errors.rb
|
276
284
|
- lib/hanami/extensions/view.rb
|
277
285
|
- lib/hanami/extensions/view/context.rb
|
@@ -291,10 +299,20 @@ files:
|
|
291
299
|
- lib/hanami/middleware/render_errors.rb
|
292
300
|
- lib/hanami/port.rb
|
293
301
|
- lib/hanami/prepare.rb
|
302
|
+
- lib/hanami/provider/source.rb
|
303
|
+
- lib/hanami/provider_registrar.rb
|
294
304
|
- lib/hanami/providers/assets.rb
|
305
|
+
- lib/hanami/providers/db.rb
|
306
|
+
- lib/hanami/providers/db/adapter.rb
|
307
|
+
- lib/hanami/providers/db/adapters.rb
|
308
|
+
- lib/hanami/providers/db/config.rb
|
309
|
+
- lib/hanami/providers/db/gateway.rb
|
310
|
+
- lib/hanami/providers/db/sql_adapter.rb
|
311
|
+
- lib/hanami/providers/db_logging.rb
|
295
312
|
- lib/hanami/providers/inflector.rb
|
296
313
|
- lib/hanami/providers/logger.rb
|
297
314
|
- lib/hanami/providers/rack.rb
|
315
|
+
- lib/hanami/providers/relations.rb
|
298
316
|
- lib/hanami/providers/routes.rb
|
299
317
|
- lib/hanami/rake_tasks.rb
|
300
318
|
- lib/hanami/routes.rb
|
@@ -336,10 +354,24 @@ files:
|
|
336
354
|
- spec/integration/container/autoloader_spec.rb
|
337
355
|
- spec/integration/container/imports_spec.rb
|
338
356
|
- spec/integration/container/prepare_container_spec.rb
|
357
|
+
- spec/integration/container/provider_environment_spec.rb
|
339
358
|
- spec/integration/container/provider_lifecycle_spec.rb
|
340
359
|
- spec/integration/container/shutdown_spec.rb
|
341
360
|
- spec/integration/container/standard_providers/rack_provider_spec.rb
|
342
361
|
- spec/integration/container/standard_providers_spec.rb
|
362
|
+
- spec/integration/db/auto_registration_spec.rb
|
363
|
+
- spec/integration/db/commands_spec.rb
|
364
|
+
- spec/integration/db/db_inflector_spec.rb
|
365
|
+
- spec/integration/db/db_slices_spec.rb
|
366
|
+
- spec/integration/db/db_spec.rb
|
367
|
+
- spec/integration/db/gateways_spec.rb
|
368
|
+
- spec/integration/db/logging_spec.rb
|
369
|
+
- spec/integration/db/mappers_spec.rb
|
370
|
+
- spec/integration/db/provider_config_spec.rb
|
371
|
+
- spec/integration/db/provider_spec.rb
|
372
|
+
- spec/integration/db/relations_spec.rb
|
373
|
+
- spec/integration/db/repo_spec.rb
|
374
|
+
- spec/integration/db/slices_importing_from_parent.rb
|
343
375
|
- spec/integration/dotenv_loading_spec.rb
|
344
376
|
- spec/integration/logging/exception_logging_spec.rb
|
345
377
|
- spec/integration/logging/notifications_spec.rb
|
@@ -403,6 +435,7 @@ files:
|
|
403
435
|
- spec/unit/hanami/config/actions/sessions_spec.rb
|
404
436
|
- spec/unit/hanami/config/actions_spec.rb
|
405
437
|
- spec/unit/hanami/config/base_url_spec.rb
|
438
|
+
- spec/unit/hanami/config/db_spec.rb
|
406
439
|
- spec/unit/hanami/config/inflector_spec.rb
|
407
440
|
- spec/unit/hanami/config/logger_spec.rb
|
408
441
|
- spec/unit/hanami/config/render_detailed_errors_spec.rb
|
@@ -421,6 +454,8 @@ files:
|
|
421
454
|
- spec/unit/hanami/helpers/assets_helper/video_tag_spec.rb
|
422
455
|
- spec/unit/hanami/helpers/form_helper_spec.rb
|
423
456
|
- spec/unit/hanami/port_spec.rb
|
457
|
+
- spec/unit/hanami/providers/db/config/default_config_spec.rb
|
458
|
+
- spec/unit/hanami/providers/db/config_spec.rb
|
424
459
|
- spec/unit/hanami/router/errors/not_allowed_error_spec.rb
|
425
460
|
- spec/unit/hanami/router/errors/not_found_error_spec.rb
|
426
461
|
- spec/unit/hanami/settings/env_store_spec.rb
|
@@ -444,14 +479,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
444
479
|
requirements:
|
445
480
|
- - ">="
|
446
481
|
- !ruby/object:Gem::Version
|
447
|
-
version: '3.
|
482
|
+
version: '3.1'
|
448
483
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
449
484
|
requirements:
|
450
485
|
- - ">="
|
451
486
|
- !ruby/object:Gem::Version
|
452
487
|
version: '0'
|
453
488
|
requirements: []
|
454
|
-
rubygems_version: 3.5.
|
489
|
+
rubygems_version: 3.5.16
|
455
490
|
signing_key:
|
456
491
|
specification_version: 4
|
457
492
|
summary: The web, with simplicity
|
@@ -478,10 +513,24 @@ test_files:
|
|
478
513
|
- spec/integration/container/autoloader_spec.rb
|
479
514
|
- spec/integration/container/imports_spec.rb
|
480
515
|
- spec/integration/container/prepare_container_spec.rb
|
516
|
+
- spec/integration/container/provider_environment_spec.rb
|
481
517
|
- spec/integration/container/provider_lifecycle_spec.rb
|
482
518
|
- spec/integration/container/shutdown_spec.rb
|
483
519
|
- spec/integration/container/standard_providers/rack_provider_spec.rb
|
484
520
|
- spec/integration/container/standard_providers_spec.rb
|
521
|
+
- spec/integration/db/auto_registration_spec.rb
|
522
|
+
- spec/integration/db/commands_spec.rb
|
523
|
+
- spec/integration/db/db_inflector_spec.rb
|
524
|
+
- spec/integration/db/db_slices_spec.rb
|
525
|
+
- spec/integration/db/db_spec.rb
|
526
|
+
- spec/integration/db/gateways_spec.rb
|
527
|
+
- spec/integration/db/logging_spec.rb
|
528
|
+
- spec/integration/db/mappers_spec.rb
|
529
|
+
- spec/integration/db/provider_config_spec.rb
|
530
|
+
- spec/integration/db/provider_spec.rb
|
531
|
+
- spec/integration/db/relations_spec.rb
|
532
|
+
- spec/integration/db/repo_spec.rb
|
533
|
+
- spec/integration/db/slices_importing_from_parent.rb
|
485
534
|
- spec/integration/dotenv_loading_spec.rb
|
486
535
|
- spec/integration/logging/exception_logging_spec.rb
|
487
536
|
- spec/integration/logging/notifications_spec.rb
|
@@ -545,6 +594,7 @@ test_files:
|
|
545
594
|
- spec/unit/hanami/config/actions/sessions_spec.rb
|
546
595
|
- spec/unit/hanami/config/actions_spec.rb
|
547
596
|
- spec/unit/hanami/config/base_url_spec.rb
|
597
|
+
- spec/unit/hanami/config/db_spec.rb
|
548
598
|
- spec/unit/hanami/config/inflector_spec.rb
|
549
599
|
- spec/unit/hanami/config/logger_spec.rb
|
550
600
|
- spec/unit/hanami/config/render_detailed_errors_spec.rb
|
@@ -563,6 +613,8 @@ test_files:
|
|
563
613
|
- spec/unit/hanami/helpers/assets_helper/video_tag_spec.rb
|
564
614
|
- spec/unit/hanami/helpers/form_helper_spec.rb
|
565
615
|
- spec/unit/hanami/port_spec.rb
|
616
|
+
- spec/unit/hanami/providers/db/config/default_config_spec.rb
|
617
|
+
- spec/unit/hanami/providers/db/config_spec.rb
|
566
618
|
- spec/unit/hanami/router/errors/not_allowed_error_spec.rb
|
567
619
|
- spec/unit/hanami/router/errors/not_found_error_spec.rb
|
568
620
|
- spec/unit/hanami/settings/env_store_spec.rb
|