hanami-cli 2.3.5 → 3.0.0.rc1

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 (53) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +38 -5
  3. data/README.md +6 -1
  4. data/hanami-cli.gemspec +2 -3
  5. data/lib/hanami/cli/commands/app/db/migrate.rb +4 -4
  6. data/lib/hanami/cli/commands/app/db/utils/postgres.rb +4 -6
  7. data/lib/hanami/cli/commands/app/generate/action.rb +31 -7
  8. data/lib/hanami/cli/commands/app/generate/component.rb +2 -0
  9. data/lib/hanami/cli/commands/app/generate/mailer.rb +52 -0
  10. data/lib/hanami/cli/commands/app/generate/operation.rb +6 -0
  11. data/lib/hanami/cli/commands/app/generate/part.rb +4 -8
  12. data/lib/hanami/cli/commands/app/generate/provider.rb +27 -0
  13. data/lib/hanami/cli/commands/app/generate/relation.rb +7 -3
  14. data/lib/hanami/cli/commands/app/generate/repo.rb +3 -1
  15. data/lib/hanami/cli/commands/app/generate/slice.rb +16 -10
  16. data/lib/hanami/cli/commands/app/generate/struct.rb +2 -0
  17. data/lib/hanami/cli/commands/app/generate/view.rb +24 -1
  18. data/lib/hanami/cli/commands/app/middleware.rb +3 -3
  19. data/lib/hanami/cli/commands/app/routes.rb +5 -5
  20. data/lib/hanami/cli/commands/app/server.rb +2 -2
  21. data/lib/hanami/cli/commands/app.rb +6 -1
  22. data/lib/hanami/cli/commands/gem/new.rb +63 -82
  23. data/lib/hanami/cli/errors.rb +1 -1
  24. data/lib/hanami/cli/files.rb +9 -2
  25. data/lib/hanami/cli/generators/app/action.rb +39 -21
  26. data/lib/hanami/cli/generators/app/component.rb +2 -2
  27. data/lib/hanami/cli/generators/app/mailer.rb +81 -0
  28. data/lib/hanami/cli/generators/app/migration.rb +1 -1
  29. data/lib/hanami/cli/generators/app/operation.rb +2 -2
  30. data/lib/hanami/cli/generators/app/part.rb +4 -4
  31. data/lib/hanami/cli/generators/app/provider.rb +54 -0
  32. data/lib/hanami/cli/generators/app/relation.rb +2 -2
  33. data/lib/hanami/cli/generators/app/repo.rb +2 -2
  34. data/lib/hanami/cli/generators/app/ruby_file.rb +8 -4
  35. data/lib/hanami/cli/generators/app/slice.rb +37 -14
  36. data/lib/hanami/cli/generators/app/struct.rb +2 -2
  37. data/lib/hanami/cli/generators/app/view.rb +20 -10
  38. data/lib/hanami/cli/generators/context.rb +32 -52
  39. data/lib/hanami/cli/generators/gem/app/app.erb +3 -0
  40. data/lib/hanami/cli/generators/gem/app/app_layout.haml.erb +15 -0
  41. data/lib/hanami/cli/generators/gem/app/app_layout.slim.erb +15 -0
  42. data/lib/hanami/cli/generators/gem/app/assets.js +1 -1
  43. data/lib/hanami/cli/generators/gem/app/context.erb +1 -1
  44. data/lib/hanami/cli/generators/gem/app/env.erb +18 -1
  45. data/lib/hanami/cli/generators/gem/app/gemfile.erb +50 -6
  46. data/lib/hanami/cli/generators/gem/app/package.json.erb +1 -0
  47. data/lib/hanami/cli/generators/gem/app/puma.erb +0 -3
  48. data/lib/hanami/cli/generators/gem/app/readme.erb +2 -2
  49. data/lib/hanami/cli/generators/gem/app/routes.erb +1 -1
  50. data/lib/hanami/cli/generators/gem/app.rb +26 -1
  51. data/lib/hanami/cli/generators/i18n.yml +3 -0
  52. data/lib/hanami/cli/version.rb +1 -1
  53. metadata +11 -5
@@ -2,6 +2,6 @@
2
2
 
3
3
  module <%= camelized_app_name %>
4
4
  class Routes < Hanami::Routes
5
- # Add your routes here. See https://guides.hanamirb.org/routing/overview/ for details.
5
+ # Add your routes here. See https://hanakai.org/learn/hanami/routing/ for details.
6
6
  end
7
7
  end
@@ -53,6 +53,7 @@ module Hanami
53
53
  fs.create("config/settings.rb", t("settings.erb", context))
54
54
  fs.create("config/routes.rb", t("routes.erb", context))
55
55
  fs.create("config/puma.rb", t("puma.erb", context))
56
+ fs.create("config/i18n/en.yml", File.read(File.join(__dir__, "..", "i18n.yml")))
56
57
 
57
58
  fs.create("lib/tasks/.keep", t("keep.erb", context))
58
59
  fs.create("lib/#{app}/types.rb", t("types.erb", context))
@@ -60,11 +61,35 @@ module Hanami
60
61
  fs.create("app/actions/.keep", t("keep.erb", context))
61
62
  fs.create("app/action.rb", t("action.erb", context))
62
63
 
64
+ if context.generate_mailer?
65
+ Generators::App::RubyClassFile.new(
66
+ fs: fs,
67
+ inflector: inflector,
68
+ namespace: app,
69
+ key: "mailer",
70
+ base_path: "app",
71
+ parent_class_name: "Hanami::Mailer",
72
+ requires: ["hanami/mailer"],
73
+ auto_register: false,
74
+ body: ["# Add common mailer behavior here. See https://hanakai.org/learn/hanami/mailers for details."]
75
+ ).create
76
+
77
+ fs.create("app/mailers/.keep", t("keep.erb", context))
78
+ end
79
+
63
80
  if context.generate_view?
64
81
  fs.create("app/view.rb", t("view.erb", context))
65
82
  fs.create("app/views/helpers.rb", t("helpers.erb", context))
66
83
  fs.create("app/views/context.rb", t("context.erb", context))
67
- fs.create("app/templates/layouts/app.html.erb", t("app_layout.erb", context))
84
+
85
+ case context.template_engine
86
+ when "erb"
87
+ fs.create("app/templates/layouts/app.html.erb", t("app_layout.erb", context))
88
+ when "haml"
89
+ fs.create("app/templates/layouts/app.html.haml", t("app_layout.haml.erb", context))
90
+ when "slim"
91
+ fs.create("app/templates/layouts/app.html.slim", t("app_layout.slim.erb", context))
92
+ end
68
93
 
69
94
  fs.create("public/404.html", file("404.html"))
70
95
  fs.create("public/500.html", file("500.html"))
@@ -0,0 +1,3 @@
1
+ # Add your translations here. See https://hanakai.org/learn/hanami/i18n for details.
2
+ en:
3
+ hello: "Hello"
@@ -6,6 +6,6 @@ module Hanami
6
6
  #
7
7
  # @api public
8
8
  # @since 2.0.0
9
- VERSION = "2.3.5"
9
+ VERSION = "3.0.0.rc1"
10
10
  end
11
11
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: hanami-cli
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.3.5
4
+ version: 3.0.0.rc1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Hanakai team
@@ -32,7 +32,7 @@ dependencies:
32
32
  version: '1.0'
33
33
  - - ">="
34
34
  - !ruby/object:Gem::Version
35
- version: 1.1.0
35
+ version: 1.4.0
36
36
  type: :runtime
37
37
  prerelease: false
38
38
  version_requirements: !ruby/object:Gem::Requirement
@@ -42,7 +42,7 @@ dependencies:
42
42
  version: '1.0'
43
43
  - - ">="
44
44
  - !ruby/object:Gem::Version
45
- version: 1.1.0
45
+ version: 1.4.0
46
46
  - !ruby/object:Gem::Dependency
47
47
  name: dry-files
48
48
  requirement: !ruby/object:Gem::Requirement
@@ -180,9 +180,11 @@ files:
180
180
  - lib/hanami/cli/commands/app/generate/action.rb
181
181
  - lib/hanami/cli/commands/app/generate/command.rb
182
182
  - lib/hanami/cli/commands/app/generate/component.rb
183
+ - lib/hanami/cli/commands/app/generate/mailer.rb
183
184
  - lib/hanami/cli/commands/app/generate/migration.rb
184
185
  - lib/hanami/cli/commands/app/generate/operation.rb
185
186
  - lib/hanami/cli/commands/app/generate/part.rb
187
+ - lib/hanami/cli/commands/app/generate/provider.rb
186
188
  - lib/hanami/cli/commands/app/generate/relation.rb
187
189
  - lib/hanami/cli/commands/app/generate/repo.rb
188
190
  - lib/hanami/cli/commands/app/generate/slice.rb
@@ -201,9 +203,11 @@ files:
201
203
  - lib/hanami/cli/files.rb
202
204
  - lib/hanami/cli/generators/app/action.rb
203
205
  - lib/hanami/cli/generators/app/component.rb
206
+ - lib/hanami/cli/generators/app/mailer.rb
204
207
  - lib/hanami/cli/generators/app/migration.rb
205
208
  - lib/hanami/cli/generators/app/operation.rb
206
209
  - lib/hanami/cli/generators/app/part.rb
210
+ - lib/hanami/cli/generators/app/provider.rb
207
211
  - lib/hanami/cli/generators/app/relation.rb
208
212
  - lib/hanami/cli/generators/app/repo.rb
209
213
  - lib/hanami/cli/generators/app/ruby_class_file.rb
@@ -223,6 +227,8 @@ files:
223
227
  - lib/hanami/cli/generators/gem/app/app_css.erb
224
228
  - lib/hanami/cli/generators/gem/app/app_js.erb
225
229
  - lib/hanami/cli/generators/gem/app/app_layout.erb
230
+ - lib/hanami/cli/generators/gem/app/app_layout.haml.erb
231
+ - lib/hanami/cli/generators/gem/app/app_layout.slim.erb
226
232
  - lib/hanami/cli/generators/gem/app/assets.js
227
233
  - lib/hanami/cli/generators/gem/app/config_ru.erb
228
234
  - lib/hanami/cli/generators/gem/app/context.erb
@@ -249,6 +255,7 @@ files:
249
255
  - lib/hanami/cli/generators/gem/app/types.erb
250
256
  - lib/hanami/cli/generators/gem/app/validator.erb
251
257
  - lib/hanami/cli/generators/gem/app/view.erb
258
+ - lib/hanami/cli/generators/i18n.yml
252
259
  - lib/hanami/cli/generators/version.rb
253
260
  - lib/hanami/cli/interactive_system_call.rb
254
261
  - lib/hanami/cli/middleware_stack_inspector.rb
@@ -269,7 +276,6 @@ homepage: https://hanamirb.org
269
276
  licenses:
270
277
  - MIT
271
278
  metadata:
272
- allowed_push_host: https://rubygems.org
273
279
  changelog_uri: https://github.com/hanami/hanami-cli/blob/main/CHANGELOG.md
274
280
  source_code_uri: https://github.com/hanami/hanami-cli
275
281
  bug_tracker_uri: https://github.com/hanami/hanami-cli/issues
@@ -281,7 +287,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
281
287
  requirements:
282
288
  - - ">="
283
289
  - !ruby/object:Gem::Version
284
- version: '3.2'
290
+ version: '3.3'
285
291
  required_rubygems_version: !ruby/object:Gem::Requirement
286
292
  requirements:
287
293
  - - ">="