hanami-cli 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/.github/workflows/ci.yml +29 -13
- data/.rubocop.yml +2 -0
- data/CHANGELOG.md +28 -0
- data/Gemfile +6 -1
- data/README.md +13 -7
- data/docker-compose.yml +14 -0
- data/hanami-cli.gemspec +2 -2
- data/lib/hanami/cli/command.rb +2 -2
- data/lib/hanami/cli/commands/app/command.rb +2 -16
- data/lib/hanami/cli/commands/app/db/command.rb +148 -0
- data/lib/hanami/cli/commands/app/db/create.rb +21 -11
- data/lib/hanami/cli/commands/app/db/drop.rb +21 -10
- data/lib/hanami/cli/commands/app/db/migrate.rb +50 -12
- data/lib/hanami/cli/commands/app/db/prepare.rb +68 -0
- data/lib/hanami/cli/commands/app/db/seed.rb +22 -21
- data/lib/hanami/cli/commands/app/db/structure/dump.rb +32 -7
- data/lib/hanami/cli/commands/app/db/structure/load.rb +54 -0
- data/lib/hanami/cli/commands/app/db/utils/database.rb +100 -75
- data/lib/hanami/cli/commands/app/db/utils/mysql.rb +59 -6
- data/lib/hanami/cli/commands/app/db/utils/postgres.rb +42 -21
- data/lib/hanami/cli/commands/app/db/utils/sqlite.rb +58 -10
- data/lib/hanami/cli/commands/app/db/version.rb +14 -8
- data/lib/hanami/cli/commands/app/generate/action.rb +4 -3
- data/lib/hanami/cli/commands/app/generate/command.rb +60 -0
- data/lib/hanami/cli/commands/app/generate/component.rb +49 -0
- data/lib/hanami/cli/commands/app/generate/migration.rb +47 -0
- data/lib/hanami/cli/commands/app/generate/operation.rb +26 -0
- data/lib/hanami/cli/commands/app/generate/part.rb +1 -1
- data/lib/hanami/cli/commands/app/generate/relation.rb +29 -0
- data/lib/hanami/cli/commands/app/generate/repo.rb +42 -0
- data/lib/hanami/cli/commands/app/generate/slice.rb +20 -3
- data/lib/hanami/cli/commands/app/generate/struct.rb +27 -0
- data/lib/hanami/cli/commands/app/install.rb +1 -1
- data/lib/hanami/cli/commands/app/middleware.rb +1 -1
- data/lib/hanami/cli/commands/app/server.rb +2 -2
- data/lib/hanami/cli/commands/app.rb +21 -2
- data/lib/hanami/cli/commands/gem/new.rb +78 -14
- data/lib/hanami/cli/errors.rb +28 -0
- data/lib/hanami/cli/files.rb +22 -0
- data/lib/hanami/cli/generators/app/action_context.rb +5 -13
- data/lib/hanami/cli/generators/app/component/component.erb +8 -0
- data/lib/hanami/cli/generators/app/component/slice_component.erb +8 -0
- data/lib/hanami/cli/generators/app/component.rb +61 -0
- data/lib/hanami/cli/generators/app/component_context.rb +82 -0
- data/lib/hanami/cli/generators/app/migration.rb +66 -0
- data/lib/hanami/cli/generators/app/operation.rb +49 -0
- data/lib/hanami/cli/generators/app/part_context.rb +5 -21
- data/lib/hanami/cli/generators/app/relation.rb +45 -0
- data/lib/hanami/cli/generators/app/repo.rb +41 -0
- data/lib/hanami/cli/generators/app/ruby_file_writer.rb +151 -0
- data/lib/hanami/cli/generators/app/slice/{entities.erb → operation.erb} +1 -3
- data/lib/hanami/cli/generators/app/slice/relation.erb +8 -0
- data/lib/hanami/cli/generators/app/slice/{slice.erb → repo.erb} +3 -1
- data/lib/hanami/cli/generators/app/slice/struct.erb +8 -0
- data/lib/hanami/cli/generators/app/slice.rb +14 -6
- data/lib/hanami/cli/generators/app/slice_context.rb +9 -2
- data/lib/hanami/cli/generators/app/struct.rb +40 -0
- data/lib/hanami/cli/generators/app/view_context.rb +4 -16
- data/lib/hanami/cli/generators/constants.rb +39 -0
- data/lib/hanami/cli/generators/context.rb +48 -0
- data/lib/hanami/cli/generators/gem/app/action.erb +3 -0
- data/lib/hanami/cli/generators/gem/app/env.erb +4 -0
- data/lib/hanami/cli/generators/gem/app/gemfile.erb +11 -0
- data/lib/hanami/cli/generators/gem/app/gitignore.erb +4 -1
- data/lib/hanami/cli/generators/gem/app/operation.erb +13 -0
- data/lib/hanami/cli/generators/gem/app/relation.erb +10 -0
- data/lib/hanami/cli/generators/gem/app/repo.erb +10 -0
- data/lib/hanami/cli/generators/gem/app/struct.erb +10 -0
- data/lib/hanami/cli/generators/gem/app.rb +19 -0
- data/lib/hanami/cli/ruby_file_generator.rb +123 -0
- data/lib/hanami/cli/version.rb +1 -1
- metadata +39 -17
- data/lib/hanami/cli/commands/app/db/create_migration.rb +0 -32
- data/lib/hanami/cli/commands/app/db/reset.rb +0 -28
- data/lib/hanami/cli/commands/app/db/rollback.rb +0 -81
- data/lib/hanami/cli/commands/app/db/sample_data.rb +0 -42
- data/lib/hanami/cli/commands/app/db/setup.rb +0 -26
- data/lib/hanami/cli/commands/app/db/utils/database_config.rb +0 -60
- data/lib/hanami/cli/generators/app/slice/repository.erb +0 -10
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: hanami-cli
|
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: exe
|
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
|
@@ -31,9 +31,9 @@ dependencies:
|
|
31
31
|
- - "~>"
|
32
32
|
- !ruby/object:Gem::Version
|
33
33
|
version: '1.0'
|
34
|
-
- - "
|
34
|
+
- - ">="
|
35
35
|
- !ruby/object:Gem::Version
|
36
|
-
version:
|
36
|
+
version: 1.1.0
|
37
37
|
type: :runtime
|
38
38
|
prerelease: false
|
39
39
|
version_requirements: !ruby/object:Gem::Requirement
|
@@ -41,9 +41,9 @@ dependencies:
|
|
41
41
|
- - "~>"
|
42
42
|
- !ruby/object:Gem::Version
|
43
43
|
version: '1.0'
|
44
|
-
- - "
|
44
|
+
- - ">="
|
45
45
|
- !ruby/object:Gem::Version
|
46
|
-
version:
|
46
|
+
version: 1.1.0
|
47
47
|
- !ruby/object:Gem::Dependency
|
48
48
|
name: dry-files
|
49
49
|
requirement: !ruby/object:Gem::Requirement
|
@@ -183,6 +183,7 @@ files:
|
|
183
183
|
- Rakefile
|
184
184
|
- bin/console
|
185
185
|
- bin/setup
|
186
|
+
- docker-compose.yml
|
186
187
|
- exe/hanami
|
187
188
|
- hanami-cli.gemspec
|
188
189
|
- lib/hanami-cli.rb
|
@@ -197,18 +198,15 @@ files:
|
|
197
198
|
- lib/hanami/cli/commands/app/assets/watch.rb
|
198
199
|
- lib/hanami/cli/commands/app/command.rb
|
199
200
|
- lib/hanami/cli/commands/app/console.rb
|
201
|
+
- lib/hanami/cli/commands/app/db/command.rb
|
200
202
|
- lib/hanami/cli/commands/app/db/create.rb
|
201
|
-
- lib/hanami/cli/commands/app/db/create_migration.rb
|
202
203
|
- lib/hanami/cli/commands/app/db/drop.rb
|
203
204
|
- lib/hanami/cli/commands/app/db/migrate.rb
|
204
|
-
- lib/hanami/cli/commands/app/db/
|
205
|
-
- lib/hanami/cli/commands/app/db/rollback.rb
|
206
|
-
- lib/hanami/cli/commands/app/db/sample_data.rb
|
205
|
+
- lib/hanami/cli/commands/app/db/prepare.rb
|
207
206
|
- lib/hanami/cli/commands/app/db/seed.rb
|
208
|
-
- lib/hanami/cli/commands/app/db/setup.rb
|
209
207
|
- lib/hanami/cli/commands/app/db/structure/dump.rb
|
208
|
+
- lib/hanami/cli/commands/app/db/structure/load.rb
|
210
209
|
- lib/hanami/cli/commands/app/db/utils/database.rb
|
211
|
-
- lib/hanami/cli/commands/app/db/utils/database_config.rb
|
212
210
|
- lib/hanami/cli/commands/app/db/utils/mysql.rb
|
213
211
|
- lib/hanami/cli/commands/app/db/utils/postgres.rb
|
214
212
|
- lib/hanami/cli/commands/app/db/utils/sqlite.rb
|
@@ -216,8 +214,15 @@ files:
|
|
216
214
|
- lib/hanami/cli/commands/app/dev.rb
|
217
215
|
- lib/hanami/cli/commands/app/generate.rb
|
218
216
|
- lib/hanami/cli/commands/app/generate/action.rb
|
217
|
+
- lib/hanami/cli/commands/app/generate/command.rb
|
218
|
+
- lib/hanami/cli/commands/app/generate/component.rb
|
219
|
+
- lib/hanami/cli/commands/app/generate/migration.rb
|
220
|
+
- lib/hanami/cli/commands/app/generate/operation.rb
|
219
221
|
- lib/hanami/cli/commands/app/generate/part.rb
|
222
|
+
- lib/hanami/cli/commands/app/generate/relation.rb
|
223
|
+
- lib/hanami/cli/commands/app/generate/repo.rb
|
220
224
|
- lib/hanami/cli/commands/app/generate/slice.rb
|
225
|
+
- lib/hanami/cli/commands/app/generate/struct.rb
|
221
226
|
- lib/hanami/cli/commands/app/generate/view.rb
|
222
227
|
- lib/hanami/cli/commands/app/install.rb
|
223
228
|
- lib/hanami/cli/commands/app/middleware.rb
|
@@ -238,32 +243,44 @@ files:
|
|
238
243
|
- lib/hanami/cli/generators/app/action/template.html.erb
|
239
244
|
- lib/hanami/cli/generators/app/action/view.erb
|
240
245
|
- lib/hanami/cli/generators/app/action_context.rb
|
246
|
+
- lib/hanami/cli/generators/app/component.rb
|
247
|
+
- lib/hanami/cli/generators/app/component/component.erb
|
248
|
+
- lib/hanami/cli/generators/app/component/slice_component.erb
|
249
|
+
- lib/hanami/cli/generators/app/component_context.rb
|
250
|
+
- lib/hanami/cli/generators/app/migration.rb
|
251
|
+
- lib/hanami/cli/generators/app/operation.rb
|
241
252
|
- lib/hanami/cli/generators/app/part.rb
|
242
253
|
- lib/hanami/cli/generators/app/part/app_base_part.erb
|
243
254
|
- lib/hanami/cli/generators/app/part/app_part.erb
|
244
255
|
- lib/hanami/cli/generators/app/part/slice_base_part.erb
|
245
256
|
- lib/hanami/cli/generators/app/part/slice_part.erb
|
246
257
|
- lib/hanami/cli/generators/app/part_context.rb
|
258
|
+
- lib/hanami/cli/generators/app/relation.rb
|
259
|
+
- lib/hanami/cli/generators/app/repo.rb
|
260
|
+
- lib/hanami/cli/generators/app/ruby_file_writer.rb
|
247
261
|
- lib/hanami/cli/generators/app/slice.rb
|
248
262
|
- lib/hanami/cli/generators/app/slice/action.erb
|
249
263
|
- lib/hanami/cli/generators/app/slice/app_css.erb
|
250
264
|
- lib/hanami/cli/generators/app/slice/app_js.erb
|
251
265
|
- lib/hanami/cli/generators/app/slice/app_layout.erb
|
252
|
-
- lib/hanami/cli/generators/app/slice/entities.erb
|
253
266
|
- lib/hanami/cli/generators/app/slice/favicon.ico
|
254
267
|
- lib/hanami/cli/generators/app/slice/helpers.erb
|
255
268
|
- lib/hanami/cli/generators/app/slice/keep.erb
|
256
|
-
- lib/hanami/cli/generators/app/slice/
|
269
|
+
- lib/hanami/cli/generators/app/slice/operation.erb
|
270
|
+
- lib/hanami/cli/generators/app/slice/relation.erb
|
271
|
+
- lib/hanami/cli/generators/app/slice/repo.erb
|
257
272
|
- lib/hanami/cli/generators/app/slice/routes.erb
|
258
|
-
- lib/hanami/cli/generators/app/slice/
|
273
|
+
- lib/hanami/cli/generators/app/slice/struct.erb
|
259
274
|
- lib/hanami/cli/generators/app/slice/view.erb
|
260
275
|
- lib/hanami/cli/generators/app/slice_context.rb
|
276
|
+
- lib/hanami/cli/generators/app/struct.rb
|
261
277
|
- lib/hanami/cli/generators/app/view.rb
|
262
278
|
- lib/hanami/cli/generators/app/view/app_template.html.erb
|
263
279
|
- lib/hanami/cli/generators/app/view/app_view.erb
|
264
280
|
- lib/hanami/cli/generators/app/view/slice_template.html.erb
|
265
281
|
- lib/hanami/cli/generators/app/view/slice_view.erb
|
266
282
|
- lib/hanami/cli/generators/app/view_context.rb
|
283
|
+
- lib/hanami/cli/generators/constants.rb
|
267
284
|
- lib/hanami/cli/generators/context.rb
|
268
285
|
- lib/hanami/cli/generators/gem/app.rb
|
269
286
|
- lib/hanami/cli/generators/gem/app/404.html
|
@@ -282,13 +299,17 @@ files:
|
|
282
299
|
- lib/hanami/cli/generators/gem/app/gitignore.erb
|
283
300
|
- lib/hanami/cli/generators/gem/app/helpers.erb
|
284
301
|
- lib/hanami/cli/generators/gem/app/keep.erb
|
302
|
+
- lib/hanami/cli/generators/gem/app/operation.erb
|
285
303
|
- lib/hanami/cli/generators/gem/app/package.json.erb
|
286
304
|
- lib/hanami/cli/generators/gem/app/procfile.erb
|
287
305
|
- lib/hanami/cli/generators/gem/app/puma.erb
|
288
306
|
- lib/hanami/cli/generators/gem/app/rakefile.erb
|
289
307
|
- lib/hanami/cli/generators/gem/app/readme.erb
|
308
|
+
- lib/hanami/cli/generators/gem/app/relation.erb
|
309
|
+
- lib/hanami/cli/generators/gem/app/repo.erb
|
290
310
|
- lib/hanami/cli/generators/gem/app/routes.erb
|
291
311
|
- lib/hanami/cli/generators/gem/app/settings.erb
|
312
|
+
- lib/hanami/cli/generators/gem/app/struct.erb
|
292
313
|
- lib/hanami/cli/generators/gem/app/types.erb
|
293
314
|
- lib/hanami/cli/generators/gem/app/validator.erb
|
294
315
|
- lib/hanami/cli/generators/gem/app/view.erb
|
@@ -300,6 +321,7 @@ files:
|
|
300
321
|
- lib/hanami/cli/repl/core.rb
|
301
322
|
- lib/hanami/cli/repl/irb.rb
|
302
323
|
- lib/hanami/cli/repl/pry.rb
|
324
|
+
- lib/hanami/cli/ruby_file_generator.rb
|
303
325
|
- lib/hanami/cli/server.rb
|
304
326
|
- lib/hanami/cli/system_call.rb
|
305
327
|
- lib/hanami/cli/url.rb
|
@@ -324,14 +346,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
324
346
|
requirements:
|
325
347
|
- - ">="
|
326
348
|
- !ruby/object:Gem::Version
|
327
|
-
version: '3.
|
349
|
+
version: '3.1'
|
328
350
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
329
351
|
requirements:
|
330
352
|
- - ">="
|
331
353
|
- !ruby/object:Gem::Version
|
332
354
|
version: '0'
|
333
355
|
requirements: []
|
334
|
-
rubygems_version: 3.5.
|
356
|
+
rubygems_version: 3.5.16
|
335
357
|
signing_key:
|
336
358
|
specification_version: 4
|
337
359
|
summary: Hanami CLI
|
@@ -1,32 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
require_relative "../../app/command"
|
4
|
-
require_relative "structure/dump"
|
5
|
-
|
6
|
-
module Hanami
|
7
|
-
module CLI
|
8
|
-
module Commands
|
9
|
-
module App
|
10
|
-
# @api private
|
11
|
-
module DB
|
12
|
-
# @api private
|
13
|
-
class CreateMigration < App::Command
|
14
|
-
desc "Create new migration file"
|
15
|
-
|
16
|
-
argument :name, desc: "Migration file name"
|
17
|
-
|
18
|
-
# @api private
|
19
|
-
def call(name:, **)
|
20
|
-
migrator = database.migrator
|
21
|
-
version = migrator.generate_version
|
22
|
-
|
23
|
-
measure "migration #{version}_#{name} created" do
|
24
|
-
migrator.create_file(name, version)
|
25
|
-
end
|
26
|
-
end
|
27
|
-
end
|
28
|
-
end
|
29
|
-
end
|
30
|
-
end
|
31
|
-
end
|
32
|
-
end
|
@@ -1,28 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
require_relative "../../app/command"
|
4
|
-
require_relative "create"
|
5
|
-
require_relative "drop"
|
6
|
-
require_relative "migrate"
|
7
|
-
|
8
|
-
module Hanami
|
9
|
-
module CLI
|
10
|
-
module Commands
|
11
|
-
module App
|
12
|
-
module DB
|
13
|
-
# @api private
|
14
|
-
class Reset < App::Command
|
15
|
-
desc "Drop, create, and migrate database"
|
16
|
-
|
17
|
-
# @api private
|
18
|
-
def call(**)
|
19
|
-
run_command Drop
|
20
|
-
run_command Create
|
21
|
-
run_command Migrate
|
22
|
-
end
|
23
|
-
end
|
24
|
-
end
|
25
|
-
end
|
26
|
-
end
|
27
|
-
end
|
28
|
-
end
|
@@ -1,81 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
require_relative "../../app/command"
|
4
|
-
require_relative "structure/dump"
|
5
|
-
|
6
|
-
module Hanami
|
7
|
-
module CLI
|
8
|
-
module Commands
|
9
|
-
module App
|
10
|
-
module DB
|
11
|
-
# @api private
|
12
|
-
class Rollback < App::Command
|
13
|
-
desc "Rollback database to a previous migration"
|
14
|
-
|
15
|
-
option :target, desc: "Target migration number", aliases: ["-t"]
|
16
|
-
option :dump, desc: "Dump structure after rolling back"
|
17
|
-
|
18
|
-
# @api private
|
19
|
-
def call(target: nil, dump: true, **)
|
20
|
-
migration_code, migration_name = find_migration(target)
|
21
|
-
|
22
|
-
if migration_name.nil?
|
23
|
-
output = if target
|
24
|
-
"==> migration file for target #{target} was not found"
|
25
|
-
else
|
26
|
-
"==> no migrations to rollback"
|
27
|
-
end
|
28
|
-
|
29
|
-
out.puts output
|
30
|
-
return
|
31
|
-
end
|
32
|
-
|
33
|
-
measure "database #{database.name} rolled back to #{migration_name}" do
|
34
|
-
database.run_migrations(target: Integer(migration_code))
|
35
|
-
|
36
|
-
true
|
37
|
-
end
|
38
|
-
|
39
|
-
run_command Structure::Dump if dump
|
40
|
-
end
|
41
|
-
|
42
|
-
private
|
43
|
-
|
44
|
-
def find_migration(code) # rubocop:disable Metrics/PerceivedComplexity
|
45
|
-
applied_migrations = database.applied_migrations
|
46
|
-
|
47
|
-
return if applied_migrations.empty?
|
48
|
-
|
49
|
-
# Rollback to initial state if we have only one migration and
|
50
|
-
# no target is specified. In this case the rollback target
|
51
|
-
# will be the current migration timestamp minus 1
|
52
|
-
if applied_migrations.one? && code.nil?
|
53
|
-
migration = applied_migrations.first
|
54
|
-
|
55
|
-
migration_code = Integer(migration.split("_").first) - 1
|
56
|
-
migration_name = "initial state"
|
57
|
-
|
58
|
-
return [migration_code, migration_name]
|
59
|
-
end
|
60
|
-
|
61
|
-
# Otherwise rollback to target or to previous migration
|
62
|
-
migration =
|
63
|
-
if code
|
64
|
-
applied_migrations.detect { |m| m.split("_").first == code }
|
65
|
-
else
|
66
|
-
applied_migrations[-2]
|
67
|
-
end
|
68
|
-
|
69
|
-
return unless migration
|
70
|
-
|
71
|
-
migration_code = code || migration.split("_").first
|
72
|
-
migration_name = File.basename(migration, ".*")
|
73
|
-
|
74
|
-
[migration_code, migration_name]
|
75
|
-
end
|
76
|
-
end
|
77
|
-
end
|
78
|
-
end
|
79
|
-
end
|
80
|
-
end
|
81
|
-
end
|
@@ -1,42 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
require_relative "../../app/command"
|
4
|
-
require_relative "structure/dump"
|
5
|
-
|
6
|
-
module Hanami
|
7
|
-
module CLI
|
8
|
-
module Commands
|
9
|
-
module App
|
10
|
-
module DB
|
11
|
-
# @api private
|
12
|
-
class SampleData < App::Command
|
13
|
-
FILE_PATH = "db/sample_data.rb"
|
14
|
-
|
15
|
-
desc "Load sample data"
|
16
|
-
|
17
|
-
# @api private
|
18
|
-
def call(**)
|
19
|
-
if has_file?
|
20
|
-
measure "sample data loaded from #{FILE_PATH}" do
|
21
|
-
load full_file_path
|
22
|
-
end
|
23
|
-
else
|
24
|
-
out.puts "=> #{FILE_PATH} not found"
|
25
|
-
end
|
26
|
-
end
|
27
|
-
|
28
|
-
private
|
29
|
-
|
30
|
-
def full_file_path
|
31
|
-
File.join(app.root, FILE_PATH)
|
32
|
-
end
|
33
|
-
|
34
|
-
def has_file?
|
35
|
-
File.exist?(full_file_path)
|
36
|
-
end
|
37
|
-
end
|
38
|
-
end
|
39
|
-
end
|
40
|
-
end
|
41
|
-
end
|
42
|
-
end
|
@@ -1,26 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
require_relative "../../app/command"
|
4
|
-
require_relative "create"
|
5
|
-
require_relative "migrate"
|
6
|
-
|
7
|
-
module Hanami
|
8
|
-
module CLI
|
9
|
-
module Commands
|
10
|
-
module App
|
11
|
-
module DB
|
12
|
-
# @api private
|
13
|
-
class Setup < App::Command
|
14
|
-
desc "Setup database"
|
15
|
-
|
16
|
-
# @api private
|
17
|
-
def call(**)
|
18
|
-
run_command Create
|
19
|
-
run_command Migrate
|
20
|
-
end
|
21
|
-
end
|
22
|
-
end
|
23
|
-
end
|
24
|
-
end
|
25
|
-
end
|
26
|
-
end
|
@@ -1,60 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
require "uri"
|
4
|
-
|
5
|
-
module Hanami
|
6
|
-
module CLI
|
7
|
-
module Commands
|
8
|
-
module App
|
9
|
-
module DB
|
10
|
-
# @api private
|
11
|
-
module Utils
|
12
|
-
# @api private
|
13
|
-
class DatabaseConfig
|
14
|
-
# @api private
|
15
|
-
attr_reader :uri
|
16
|
-
|
17
|
-
# @api private
|
18
|
-
def initialize(database_url)
|
19
|
-
@uri = URI(database_url)
|
20
|
-
end
|
21
|
-
|
22
|
-
# @api private
|
23
|
-
def hostname
|
24
|
-
uri.hostname
|
25
|
-
end
|
26
|
-
alias_method :host, :hostname
|
27
|
-
|
28
|
-
# @api private
|
29
|
-
def user
|
30
|
-
uri.user
|
31
|
-
end
|
32
|
-
alias_method :username, :user
|
33
|
-
|
34
|
-
# @api private
|
35
|
-
def password
|
36
|
-
uri.password
|
37
|
-
end
|
38
|
-
alias_method :pass, :password
|
39
|
-
|
40
|
-
# @api private
|
41
|
-
def port
|
42
|
-
uri.port
|
43
|
-
end
|
44
|
-
|
45
|
-
# @api private
|
46
|
-
def db_name
|
47
|
-
@db_name ||= uri.path.gsub(/\A\//, "")
|
48
|
-
end
|
49
|
-
|
50
|
-
# @api private
|
51
|
-
def db_type
|
52
|
-
uri.scheme
|
53
|
-
end
|
54
|
-
end
|
55
|
-
end
|
56
|
-
end
|
57
|
-
end
|
58
|
-
end
|
59
|
-
end
|
60
|
-
end
|