hanami-cli 2.2.1 → 2.3.0.beta1

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 (85) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/ci.yml +9 -0
  3. data/CHANGELOG.md +33 -0
  4. data/Gemfile +3 -1
  5. data/hanami-cli.gemspec +2 -0
  6. data/lib/hanami/cli/command.rb +5 -11
  7. data/lib/hanami/cli/commands/app/command.rb +5 -5
  8. data/lib/hanami/cli/commands/app/console.rb +1 -0
  9. data/lib/hanami/cli/commands/app/db/command.rb +0 -1
  10. data/lib/hanami/cli/commands/app/db/drop.rb +2 -2
  11. data/lib/hanami/cli/commands/app/db/rollback.rb +204 -0
  12. data/lib/hanami/cli/commands/app/db/utils/mysql.rb +3 -2
  13. data/lib/hanami/cli/commands/app/db/utils/postgres.rb +3 -1
  14. data/lib/hanami/cli/commands/app/generate/action.rb +32 -40
  15. data/lib/hanami/cli/commands/app/generate/command.rb +54 -17
  16. data/lib/hanami/cli/commands/app/generate/component.rb +4 -19
  17. data/lib/hanami/cli/commands/app/generate/part.rb +4 -21
  18. data/lib/hanami/cli/commands/app/generate/slice.rb +2 -2
  19. data/lib/hanami/cli/commands/app/generate/view.rb +5 -24
  20. data/lib/hanami/cli/commands/app/server.rb +0 -1
  21. data/lib/hanami/cli/commands/app.rb +1 -0
  22. data/lib/hanami/cli/commands/gem/new.rb +34 -3
  23. data/lib/hanami/cli/errors.rb +26 -0
  24. data/lib/hanami/cli/files.rb +20 -6
  25. data/lib/hanami/cli/generators/app/action.rb +78 -101
  26. data/lib/hanami/cli/generators/app/component.rb +11 -33
  27. data/lib/hanami/cli/generators/app/migration.rb +1 -1
  28. data/lib/hanami/cli/generators/app/operation.rb +4 -5
  29. data/lib/hanami/cli/generators/app/part.rb +42 -65
  30. data/lib/hanami/cli/generators/app/relation.rb +4 -5
  31. data/lib/hanami/cli/generators/app/repo.rb +3 -5
  32. data/lib/hanami/cli/generators/app/ruby_class_file.rb +32 -0
  33. data/lib/hanami/cli/generators/app/ruby_file.rb +128 -0
  34. data/lib/hanami/cli/generators/app/ruby_module_file.rb +28 -0
  35. data/lib/hanami/cli/generators/app/slice.rb +130 -37
  36. data/lib/hanami/cli/generators/app/struct.rb +3 -4
  37. data/lib/hanami/cli/generators/app/view.rb +40 -45
  38. data/lib/hanami/cli/generators/context.rb +6 -0
  39. data/lib/hanami/cli/generators/gem/app/assets.js +14 -13
  40. data/lib/hanami/cli/generators/gem/app/dev +1 -1
  41. data/lib/hanami/cli/generators/gem/app/gemfile.erb +5 -0
  42. data/lib/hanami/cli/generators/gem/app/gitignore.erb +3 -1
  43. data/lib/hanami/cli/generators/gem/app/rakefile.erb +3 -0
  44. data/lib/hanami/cli/generators/gem/app/readme.erb +14 -0
  45. data/lib/hanami/cli/generators/gem/app.rb +40 -37
  46. data/lib/hanami/cli/ruby_file_generator.rb +17 -8
  47. data/lib/hanami/cli/server.rb +15 -1
  48. data/lib/hanami/cli/version.rb +1 -1
  49. data/lib/hanami/console/context.rb +5 -0
  50. metadata +35 -41
  51. data/lib/hanami/cli/generators/app/action/action.erb +0 -17
  52. data/lib/hanami/cli/generators/app/action/slice_action.erb +0 -17
  53. data/lib/hanami/cli/generators/app/action/slice_template.html.erb +0 -1
  54. data/lib/hanami/cli/generators/app/action/slice_view.erb +0 -10
  55. data/lib/hanami/cli/generators/app/action/template.erb +0 -0
  56. data/lib/hanami/cli/generators/app/action/template.html.erb +0 -1
  57. data/lib/hanami/cli/generators/app/action/view.erb +0 -10
  58. data/lib/hanami/cli/generators/app/action_context.rb +0 -90
  59. data/lib/hanami/cli/generators/app/component/component.erb +0 -8
  60. data/lib/hanami/cli/generators/app/component/slice_component.erb +0 -8
  61. data/lib/hanami/cli/generators/app/component_context.rb +0 -82
  62. data/lib/hanami/cli/generators/app/part/app_base_part.erb +0 -9
  63. data/lib/hanami/cli/generators/app/part/app_part.erb +0 -13
  64. data/lib/hanami/cli/generators/app/part/slice_base_part.erb +0 -9
  65. data/lib/hanami/cli/generators/app/part/slice_part.erb +0 -13
  66. data/lib/hanami/cli/generators/app/part_context.rb +0 -82
  67. data/lib/hanami/cli/generators/app/ruby_file_writer.rb +0 -151
  68. data/lib/hanami/cli/generators/app/slice/action.erb +0 -7
  69. data/lib/hanami/cli/generators/app/slice/app_css.erb +0 -5
  70. data/lib/hanami/cli/generators/app/slice/app_js.erb +0 -1
  71. data/lib/hanami/cli/generators/app/slice/app_layout.erb +0 -18
  72. data/lib/hanami/cli/generators/app/slice/helpers.erb +0 -10
  73. data/lib/hanami/cli/generators/app/slice/keep.erb +0 -0
  74. data/lib/hanami/cli/generators/app/slice/operation.erb +0 -7
  75. data/lib/hanami/cli/generators/app/slice/relation.erb +0 -8
  76. data/lib/hanami/cli/generators/app/slice/repo.erb +0 -8
  77. data/lib/hanami/cli/generators/app/slice/routes.erb +0 -3
  78. data/lib/hanami/cli/generators/app/slice/struct.erb +0 -8
  79. data/lib/hanami/cli/generators/app/slice/view.erb +0 -7
  80. data/lib/hanami/cli/generators/app/slice_context.rb +0 -72
  81. data/lib/hanami/cli/generators/app/view/app_template.html.erb +0 -1
  82. data/lib/hanami/cli/generators/app/view/app_view.erb +0 -10
  83. data/lib/hanami/cli/generators/app/view/slice_template.html.erb +0 -1
  84. data/lib/hanami/cli/generators/app/view/slice_view.erb +0 -10
  85. data/lib/hanami/cli/generators/app/view_context.rb +0 -88
@@ -1,10 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module <%= camelized_slice_name %>
4
- module Views
5
- <%= module_namespace_declaration %>
6
- <%= module_namespace_offset %>class <%= camelized_name %> < <%= camelized_slice_name %>::View
7
- <%= module_namespace_offset %>end
8
- <%= module_namespace_end %>
9
- end
10
- end
@@ -1,88 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require_relative "slice_context"
4
- require "dry/files/path"
5
- require_relative "../constants"
6
-
7
- module Hanami
8
- module CLI
9
- module Generators
10
- # @since 2.1.0
11
- # @api private
12
- module App
13
- # @since 2.1.0
14
- # @api private
15
- class ViewContext < SliceContext
16
- # @since 2.1.0
17
- # @api private
18
- attr_reader :key
19
-
20
- # @since 2.1.0
21
- # @api private
22
- def initialize(inflector, app, slice, key)
23
- @key = key
24
- super(inflector, app, slice, nil)
25
- end
26
-
27
- # @since 2.1.0
28
- # @api private
29
- def namespaces
30
- @namespaces ||= key.split(KEY_SEPARATOR)[..-2]
31
- end
32
-
33
- # @since 2.1.0
34
- # @api private
35
- def name
36
- @name ||= key.split(KEY_SEPARATOR)[-1]
37
- end
38
-
39
- # @since 2.1.0
40
- # @api private
41
- def camelized_namespace
42
- namespaces.map { inflector.camelize(_1) }.join(NAMESPACE_SEPARATOR)
43
- end
44
-
45
- # @since 2.1.0
46
- # @api private
47
- def camelized_name
48
- inflector.camelize(name)
49
- end
50
-
51
- # @since 2.1.0
52
- # @api private
53
- def underscored_namespace
54
- namespaces.map { inflector.underscore(_1) }
55
- end
56
-
57
- # @since 2.1.0
58
- # @api private
59
- def underscored_name
60
- inflector.underscore(name)
61
- end
62
-
63
- # @since 2.1.0
64
- # @api private
65
- def module_namespace_declaration
66
- namespaces.each_with_index.map { |token, i|
67
- "#{NESTED_OFFSET}#{INDENTATION * i}module #{inflector.camelize(token)}"
68
- }.join($/)
69
- end
70
-
71
- # @since 2.1.0
72
- # @api private
73
- def module_namespace_end
74
- namespaces.each_with_index.map { |_, i|
75
- "#{NESTED_OFFSET}#{INDENTATION * i}end"
76
- }.reverse.join($/)
77
- end
78
-
79
- # @since 2.1.0
80
- # @api private
81
- def module_namespace_offset
82
- "#{NESTED_OFFSET}#{INDENTATION * namespaces.count}"
83
- end
84
- end
85
- end
86
- end
87
- end
88
- end