hanami-cli 2.2.0 → 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.
- checksums.yaml +4 -4
- data/.github/workflows/ci.yml +9 -0
- data/CHANGELOG.md +43 -0
- data/Gemfile +3 -1
- data/hanami-cli.gemspec +2 -0
- data/lib/hanami/cli/command.rb +5 -11
- data/lib/hanami/cli/commands/app/command.rb +5 -5
- data/lib/hanami/cli/commands/app/console.rb +1 -0
- data/lib/hanami/cli/commands/app/db/command.rb +0 -1
- data/lib/hanami/cli/commands/app/db/drop.rb +2 -2
- data/lib/hanami/cli/commands/app/db/rollback.rb +204 -0
- data/lib/hanami/cli/commands/app/db/utils/mysql.rb +3 -2
- data/lib/hanami/cli/commands/app/db/utils/postgres.rb +3 -1
- data/lib/hanami/cli/commands/app/generate/action.rb +32 -40
- data/lib/hanami/cli/commands/app/generate/command.rb +54 -17
- data/lib/hanami/cli/commands/app/generate/component.rb +4 -19
- data/lib/hanami/cli/commands/app/generate/part.rb +4 -21
- data/lib/hanami/cli/commands/app/generate/slice.rb +2 -2
- data/lib/hanami/cli/commands/app/generate/view.rb +5 -24
- data/lib/hanami/cli/commands/app/install.rb +12 -0
- data/lib/hanami/cli/commands/app/server.rb +0 -1
- data/lib/hanami/cli/commands/app.rb +1 -0
- data/lib/hanami/cli/commands/gem/new.rb +37 -7
- data/lib/hanami/cli/errors.rb +26 -0
- data/lib/hanami/cli/files.rb +20 -6
- data/lib/hanami/cli/generators/app/action.rb +78 -101
- data/lib/hanami/cli/generators/app/component.rb +11 -33
- data/lib/hanami/cli/generators/app/migration.rb +1 -1
- data/lib/hanami/cli/generators/app/operation.rb +4 -5
- data/lib/hanami/cli/generators/app/part.rb +42 -65
- data/lib/hanami/cli/generators/app/relation.rb +4 -5
- data/lib/hanami/cli/generators/app/repo.rb +3 -5
- data/lib/hanami/cli/generators/app/ruby_class_file.rb +32 -0
- data/lib/hanami/cli/generators/app/ruby_file.rb +128 -0
- data/lib/hanami/cli/generators/app/ruby_module_file.rb +28 -0
- data/lib/hanami/cli/generators/app/slice.rb +130 -37
- data/lib/hanami/cli/generators/app/struct.rb +3 -4
- data/lib/hanami/cli/generators/app/view.rb +40 -45
- data/lib/hanami/cli/generators/context.rb +6 -0
- data/lib/hanami/cli/generators/gem/app/assets.js +14 -13
- data/lib/hanami/cli/generators/gem/app/dev +1 -1
- data/lib/hanami/cli/generators/gem/app/gemfile.erb +5 -0
- data/lib/hanami/cli/generators/gem/app/gitignore.erb +3 -1
- data/lib/hanami/cli/generators/gem/app/rakefile.erb +3 -0
- data/lib/hanami/cli/generators/gem/app/readme.erb +14 -0
- data/lib/hanami/cli/generators/gem/app.rb +40 -37
- data/lib/hanami/cli/ruby_file_generator.rb +17 -8
- data/lib/hanami/cli/server.rb +15 -1
- data/lib/hanami/cli/version.rb +1 -1
- data/lib/hanami/console/context.rb +5 -0
- metadata +35 -41
- data/lib/hanami/cli/generators/app/action/action.erb +0 -17
- data/lib/hanami/cli/generators/app/action/slice_action.erb +0 -17
- data/lib/hanami/cli/generators/app/action/slice_template.html.erb +0 -1
- data/lib/hanami/cli/generators/app/action/slice_view.erb +0 -10
- data/lib/hanami/cli/generators/app/action/template.erb +0 -0
- data/lib/hanami/cli/generators/app/action/template.html.erb +0 -1
- data/lib/hanami/cli/generators/app/action/view.erb +0 -10
- data/lib/hanami/cli/generators/app/action_context.rb +0 -90
- data/lib/hanami/cli/generators/app/component/component.erb +0 -8
- data/lib/hanami/cli/generators/app/component/slice_component.erb +0 -8
- data/lib/hanami/cli/generators/app/component_context.rb +0 -82
- data/lib/hanami/cli/generators/app/part/app_base_part.erb +0 -9
- data/lib/hanami/cli/generators/app/part/app_part.erb +0 -13
- data/lib/hanami/cli/generators/app/part/slice_base_part.erb +0 -9
- data/lib/hanami/cli/generators/app/part/slice_part.erb +0 -13
- data/lib/hanami/cli/generators/app/part_context.rb +0 -82
- data/lib/hanami/cli/generators/app/ruby_file_writer.rb +0 -151
- data/lib/hanami/cli/generators/app/slice/action.erb +0 -7
- data/lib/hanami/cli/generators/app/slice/app_css.erb +0 -5
- data/lib/hanami/cli/generators/app/slice/app_js.erb +0 -1
- data/lib/hanami/cli/generators/app/slice/app_layout.erb +0 -18
- data/lib/hanami/cli/generators/app/slice/helpers.erb +0 -10
- data/lib/hanami/cli/generators/app/slice/keep.erb +0 -0
- data/lib/hanami/cli/generators/app/slice/operation.erb +0 -7
- data/lib/hanami/cli/generators/app/slice/relation.erb +0 -8
- data/lib/hanami/cli/generators/app/slice/repo.erb +0 -8
- data/lib/hanami/cli/generators/app/slice/routes.erb +0 -3
- data/lib/hanami/cli/generators/app/slice/struct.erb +0 -8
- data/lib/hanami/cli/generators/app/slice/view.erb +0 -7
- data/lib/hanami/cli/generators/app/slice_context.rb +0 -72
- data/lib/hanami/cli/generators/app/view/app_template.html.erb +0 -1
- data/lib/hanami/cli/generators/app/view/app_view.erb +0 -10
- data/lib/hanami/cli/generators/app/view/slice_template.html.erb +0 -1
- data/lib/hanami/cli/generators/app/view/slice_view.erb +0 -10
- data/lib/hanami/cli/generators/app/view_context.rb +0 -88
data/lib/hanami/cli/server.rb
CHANGED
@@ -1,5 +1,11 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
+
begin
|
4
|
+
require "rackup"
|
5
|
+
rescue LoadError
|
6
|
+
# Rack 2 doesn't have rackup gem, use Rack::Server instead
|
7
|
+
end
|
8
|
+
|
3
9
|
module Hanami
|
4
10
|
module CLI
|
5
11
|
# @since 2.0.0
|
@@ -24,9 +30,17 @@ module Hanami
|
|
24
30
|
warn: :warn
|
25
31
|
}.freeze
|
26
32
|
|
33
|
+
def self.rack_server_class
|
34
|
+
if defined?(Rackup::Server)
|
35
|
+
Rackup::Server
|
36
|
+
else
|
37
|
+
Rack::Server
|
38
|
+
end
|
39
|
+
end
|
40
|
+
|
27
41
|
# @since 2.0.0
|
28
42
|
# @api private
|
29
|
-
def initialize(rack_server:
|
43
|
+
def initialize(rack_server: self.class.rack_server_class)
|
30
44
|
@rack_server = rack_server
|
31
45
|
end
|
32
46
|
|
data/lib/hanami/cli/version.rb
CHANGED
@@ -50,6 +50,11 @@ module Hanami
|
|
50
50
|
define_method(:respond_to_missing?) do |name, include_private|
|
51
51
|
super(name, include_private) || hanami_app.respond_to?(name, include_private)
|
52
52
|
end
|
53
|
+
|
54
|
+
# User-provided extension modules
|
55
|
+
app.config.console.extensions.each do |mod|
|
56
|
+
include mod
|
57
|
+
end
|
53
58
|
end
|
54
59
|
end
|
55
60
|
end
|
metadata
CHANGED
@@ -1,14 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: hanami-cli
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.
|
4
|
+
version: 2.3.0.beta1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Luca Guidi
|
8
|
-
autorequire:
|
9
8
|
bindir: exe
|
10
9
|
cert_chain: []
|
11
|
-
date:
|
10
|
+
date: 1980-01-02 00:00:00.000000000 Z
|
12
11
|
dependencies:
|
13
12
|
- !ruby/object:Gem::Dependency
|
14
13
|
name: bundler
|
@@ -90,6 +89,20 @@ dependencies:
|
|
90
89
|
- - "<"
|
91
90
|
- !ruby/object:Gem::Version
|
92
91
|
version: '2'
|
92
|
+
- !ruby/object:Gem::Dependency
|
93
|
+
name: irb
|
94
|
+
requirement: !ruby/object:Gem::Requirement
|
95
|
+
requirements:
|
96
|
+
- - ">="
|
97
|
+
- !ruby/object:Gem::Version
|
98
|
+
version: '0'
|
99
|
+
type: :runtime
|
100
|
+
prerelease: false
|
101
|
+
version_requirements: !ruby/object:Gem::Requirement
|
102
|
+
requirements:
|
103
|
+
- - ">="
|
104
|
+
- !ruby/object:Gem::Version
|
105
|
+
version: '0'
|
93
106
|
- !ruby/object:Gem::Dependency
|
94
107
|
name: rake
|
95
108
|
requirement: !ruby/object:Gem::Requirement
|
@@ -118,6 +131,20 @@ dependencies:
|
|
118
131
|
- - "~>"
|
119
132
|
- !ruby/object:Gem::Version
|
120
133
|
version: '2.6'
|
134
|
+
- !ruby/object:Gem::Dependency
|
135
|
+
name: rackup
|
136
|
+
requirement: !ruby/object:Gem::Requirement
|
137
|
+
requirements:
|
138
|
+
- - ">="
|
139
|
+
- !ruby/object:Gem::Version
|
140
|
+
version: '0'
|
141
|
+
type: :runtime
|
142
|
+
prerelease: false
|
143
|
+
version_requirements: !ruby/object:Gem::Requirement
|
144
|
+
requirements:
|
145
|
+
- - ">="
|
146
|
+
- !ruby/object:Gem::Version
|
147
|
+
version: '0'
|
121
148
|
- !ruby/object:Gem::Dependency
|
122
149
|
name: rspec
|
123
150
|
requirement: !ruby/object:Gem::Requirement
|
@@ -203,6 +230,7 @@ files:
|
|
203
230
|
- lib/hanami/cli/commands/app/db/drop.rb
|
204
231
|
- lib/hanami/cli/commands/app/db/migrate.rb
|
205
232
|
- lib/hanami/cli/commands/app/db/prepare.rb
|
233
|
+
- lib/hanami/cli/commands/app/db/rollback.rb
|
206
234
|
- lib/hanami/cli/commands/app/db/seed.rb
|
207
235
|
- lib/hanami/cli/commands/app/db/structure/dump.rb
|
208
236
|
- lib/hanami/cli/commands/app/db/structure/load.rb
|
@@ -235,51 +263,19 @@ files:
|
|
235
263
|
- lib/hanami/cli/errors.rb
|
236
264
|
- lib/hanami/cli/files.rb
|
237
265
|
- lib/hanami/cli/generators/app/action.rb
|
238
|
-
- lib/hanami/cli/generators/app/action/action.erb
|
239
|
-
- lib/hanami/cli/generators/app/action/slice_action.erb
|
240
|
-
- lib/hanami/cli/generators/app/action/slice_template.html.erb
|
241
|
-
- lib/hanami/cli/generators/app/action/slice_view.erb
|
242
|
-
- lib/hanami/cli/generators/app/action/template.erb
|
243
|
-
- lib/hanami/cli/generators/app/action/template.html.erb
|
244
|
-
- lib/hanami/cli/generators/app/action/view.erb
|
245
|
-
- lib/hanami/cli/generators/app/action_context.rb
|
246
266
|
- 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
267
|
- lib/hanami/cli/generators/app/migration.rb
|
251
268
|
- lib/hanami/cli/generators/app/operation.rb
|
252
269
|
- lib/hanami/cli/generators/app/part.rb
|
253
|
-
- lib/hanami/cli/generators/app/part/app_base_part.erb
|
254
|
-
- lib/hanami/cli/generators/app/part/app_part.erb
|
255
|
-
- lib/hanami/cli/generators/app/part/slice_base_part.erb
|
256
|
-
- lib/hanami/cli/generators/app/part/slice_part.erb
|
257
|
-
- lib/hanami/cli/generators/app/part_context.rb
|
258
270
|
- lib/hanami/cli/generators/app/relation.rb
|
259
271
|
- lib/hanami/cli/generators/app/repo.rb
|
260
|
-
- lib/hanami/cli/generators/app/
|
272
|
+
- lib/hanami/cli/generators/app/ruby_class_file.rb
|
273
|
+
- lib/hanami/cli/generators/app/ruby_file.rb
|
274
|
+
- lib/hanami/cli/generators/app/ruby_module_file.rb
|
261
275
|
- lib/hanami/cli/generators/app/slice.rb
|
262
|
-
- lib/hanami/cli/generators/app/slice/action.erb
|
263
|
-
- lib/hanami/cli/generators/app/slice/app_css.erb
|
264
|
-
- lib/hanami/cli/generators/app/slice/app_js.erb
|
265
|
-
- lib/hanami/cli/generators/app/slice/app_layout.erb
|
266
276
|
- lib/hanami/cli/generators/app/slice/favicon.ico
|
267
|
-
- lib/hanami/cli/generators/app/slice/helpers.erb
|
268
|
-
- lib/hanami/cli/generators/app/slice/keep.erb
|
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
|
272
|
-
- lib/hanami/cli/generators/app/slice/routes.erb
|
273
|
-
- lib/hanami/cli/generators/app/slice/struct.erb
|
274
|
-
- lib/hanami/cli/generators/app/slice/view.erb
|
275
|
-
- lib/hanami/cli/generators/app/slice_context.rb
|
276
277
|
- lib/hanami/cli/generators/app/struct.rb
|
277
278
|
- lib/hanami/cli/generators/app/view.rb
|
278
|
-
- lib/hanami/cli/generators/app/view/app_template.html.erb
|
279
|
-
- lib/hanami/cli/generators/app/view/app_view.erb
|
280
|
-
- lib/hanami/cli/generators/app/view/slice_template.html.erb
|
281
|
-
- lib/hanami/cli/generators/app/view/slice_view.erb
|
282
|
-
- lib/hanami/cli/generators/app/view_context.rb
|
283
279
|
- lib/hanami/cli/generators/constants.rb
|
284
280
|
- lib/hanami/cli/generators/context.rb
|
285
281
|
- lib/hanami/cli/generators/gem/app.rb
|
@@ -339,7 +335,6 @@ metadata:
|
|
339
335
|
source_code_uri: https://github.com/hanami/cli
|
340
336
|
changelog_uri: https://github.com/hanami/cli/blob/master/CHANGELOG.md
|
341
337
|
rubygems_mfa_required: 'true'
|
342
|
-
post_install_message:
|
343
338
|
rdoc_options: []
|
344
339
|
require_paths:
|
345
340
|
- lib
|
@@ -354,8 +349,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
354
349
|
- !ruby/object:Gem::Version
|
355
350
|
version: '0'
|
356
351
|
requirements: []
|
357
|
-
rubygems_version: 3.
|
358
|
-
signing_key:
|
352
|
+
rubygems_version: 3.6.9
|
359
353
|
specification_version: 4
|
360
354
|
summary: Hanami CLI
|
361
355
|
test_files: []
|
@@ -1,17 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
module <%= camelized_app_name %>
|
4
|
-
module Actions
|
5
|
-
<%= module_controller_declaration %>
|
6
|
-
<%= module_controller_offset %>class <%= camelized_action_name %> < <%= camelized_app_name %>::Action
|
7
|
-
<%- if bundled_views? -%>
|
8
|
-
<%= module_controller_offset %> def handle(request, response)
|
9
|
-
<%- else -%>
|
10
|
-
<%= module_controller_offset %> def handle(request, response)
|
11
|
-
<%= module_controller_offset %> response.body = self.class.name
|
12
|
-
<%- end -%>
|
13
|
-
<%= module_controller_offset %> end
|
14
|
-
<%= module_controller_offset %>end
|
15
|
-
<%= module_controller_end %>
|
16
|
-
end
|
17
|
-
end
|
@@ -1,17 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
module <%= camelized_slice_name %>
|
4
|
-
module Actions
|
5
|
-
<%= module_controller_declaration %>
|
6
|
-
<%= module_controller_offset %>class <%= camelized_action_name %> < <%= camelized_slice_name %>::Action
|
7
|
-
<%- if bundled_views? -%>
|
8
|
-
<%= module_controller_offset %> def handle(request, response)
|
9
|
-
<%- else -%>
|
10
|
-
<%= module_controller_offset %> def handle(request, response)
|
11
|
-
<%= module_controller_offset %> response.body = self.class.name
|
12
|
-
<%- end -%>
|
13
|
-
<%= module_controller_offset %> end
|
14
|
-
<%= module_controller_offset %>end
|
15
|
-
<%= module_controller_end %>
|
16
|
-
end
|
17
|
-
end
|
@@ -1 +0,0 @@
|
|
1
|
-
<h1><%= camelized_slice_name %>::Views::<%= camelized_controller_name %>::<%= camelized_action_name %></h1>
|
@@ -1,10 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
module <%= camelized_slice_name %>
|
4
|
-
module Views
|
5
|
-
<%= module_controller_declaration %>
|
6
|
-
<%= module_controller_offset %>class <%= camelized_action_name %> < <%= camelized_slice_name %>::View
|
7
|
-
<%= module_controller_offset %>end
|
8
|
-
<%= module_controller_end %>
|
9
|
-
end
|
10
|
-
end
|
File without changes
|
@@ -1 +0,0 @@
|
|
1
|
-
<h1><%= camelized_app_name %>::Views::<%= camelized_controller_name %>::<%= camelized_action_name %></h1>
|
@@ -1,10 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
module <%= camelized_app_name %>
|
4
|
-
module Views
|
5
|
-
<%= module_controller_declaration %>
|
6
|
-
<%= module_controller_offset %>class <%= camelized_action_name %> < <%= camelized_app_name %>::View
|
7
|
-
<%= module_controller_offset %>end
|
8
|
-
<%= module_controller_end %>
|
9
|
-
end
|
10
|
-
end
|
@@ -1,90 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
require "dry/files/path"
|
4
|
-
require_relative "slice_context"
|
5
|
-
require_relative "../constants"
|
6
|
-
|
7
|
-
module Hanami
|
8
|
-
module CLI
|
9
|
-
module Generators
|
10
|
-
# @since 2.0.0
|
11
|
-
# @api private
|
12
|
-
module App
|
13
|
-
# @since 2.0.0
|
14
|
-
# @api private
|
15
|
-
class ActionContext < SliceContext
|
16
|
-
# @since 2.0.0
|
17
|
-
# @api private
|
18
|
-
def initialize(inflector, app, slice, controller, action)
|
19
|
-
@controller = controller
|
20
|
-
@action = action
|
21
|
-
super(inflector, app, slice, nil)
|
22
|
-
end
|
23
|
-
|
24
|
-
# @since 2.0.0
|
25
|
-
# @api private
|
26
|
-
def camelized_controller_name
|
27
|
-
controller.map do |token|
|
28
|
-
inflector.camelize(token)
|
29
|
-
end.join(NAMESPACE_SEPARATOR)
|
30
|
-
end
|
31
|
-
|
32
|
-
# @since 2.0.0
|
33
|
-
# @api private
|
34
|
-
def camelized_action_name
|
35
|
-
inflector.camelize(action)
|
36
|
-
end
|
37
|
-
|
38
|
-
# @since 2.0.0
|
39
|
-
# @api private
|
40
|
-
def underscored_controller_name
|
41
|
-
controller.map do |token|
|
42
|
-
inflector.underscore(token)
|
43
|
-
end
|
44
|
-
end
|
45
|
-
|
46
|
-
# @since 2.0.0
|
47
|
-
# @api private
|
48
|
-
def underscored_action_name
|
49
|
-
inflector.underscore(action)
|
50
|
-
end
|
51
|
-
|
52
|
-
# @since 2.0.0
|
53
|
-
# @api private
|
54
|
-
def module_controller_declaration
|
55
|
-
controller.each_with_index.map do |token, i|
|
56
|
-
"#{NESTED_OFFSET}#{INDENTATION * i}module #{inflector.camelize(token)}"
|
57
|
-
end.join($/)
|
58
|
-
end
|
59
|
-
|
60
|
-
# @since 2.0.0
|
61
|
-
# @api private
|
62
|
-
def module_controller_end
|
63
|
-
controller.each_with_index.map do |_, i|
|
64
|
-
"#{NESTED_OFFSET}#{INDENTATION * i}end"
|
65
|
-
end.reverse.join($/)
|
66
|
-
end
|
67
|
-
|
68
|
-
# @since 2.0.0
|
69
|
-
# @api private
|
70
|
-
def module_controller_offset
|
71
|
-
"#{NESTED_OFFSET}#{INDENTATION * controller.count}"
|
72
|
-
end
|
73
|
-
|
74
|
-
# @since 2.0.0
|
75
|
-
# @api private
|
76
|
-
def template_path
|
77
|
-
Dry::Files::Path["slices", underscored_slice_name, "templates", *underscored_controller_name,
|
78
|
-
"#{underscored_action_name}.html.erb"]
|
79
|
-
end
|
80
|
-
|
81
|
-
private
|
82
|
-
|
83
|
-
attr_reader :controller
|
84
|
-
|
85
|
-
attr_reader :action
|
86
|
-
end
|
87
|
-
end
|
88
|
-
end
|
89
|
-
end
|
90
|
-
end
|
@@ -1,82 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
require_relative "../constants"
|
4
|
-
|
5
|
-
module Hanami
|
6
|
-
module CLI
|
7
|
-
module Generators
|
8
|
-
module App
|
9
|
-
class ComponentContext < SliceContext
|
10
|
-
# @api private
|
11
|
-
# @since 2.2.0
|
12
|
-
attr_reader :key
|
13
|
-
|
14
|
-
# @api private
|
15
|
-
# @since 2.2.0
|
16
|
-
def initialize(inflector, app, slice, key)
|
17
|
-
@key = key
|
18
|
-
super(inflector, app, slice, nil)
|
19
|
-
end
|
20
|
-
|
21
|
-
# @api private
|
22
|
-
# @since 2.2.0
|
23
|
-
def namespaces
|
24
|
-
@namespaces ||= key.split(MATCHER_PATTERN)[..-2].map { inflector.underscore(_1) }
|
25
|
-
end
|
26
|
-
|
27
|
-
# @api private
|
28
|
-
# @since 2.2.0
|
29
|
-
def name
|
30
|
-
@name ||= key.split(MATCHER_PATTERN)[-1]
|
31
|
-
end
|
32
|
-
|
33
|
-
# @api private
|
34
|
-
# @since 2.2.0
|
35
|
-
def camelized_namespace
|
36
|
-
namespaces.map { inflector.camelize(_1) }.join(NAMESPACE_SEPARATOR)
|
37
|
-
end
|
38
|
-
|
39
|
-
# @api private
|
40
|
-
# @since 2.2.0
|
41
|
-
def camelized_name
|
42
|
-
inflector.camelize(name)
|
43
|
-
end
|
44
|
-
|
45
|
-
# @api private
|
46
|
-
# @since 2.2.0
|
47
|
-
def underscored_namespace
|
48
|
-
namespaces.map { inflector.underscore(_1) }
|
49
|
-
end
|
50
|
-
|
51
|
-
# @api private
|
52
|
-
# @since 2.2.0
|
53
|
-
def underscored_name
|
54
|
-
inflector.underscore(name)
|
55
|
-
end
|
56
|
-
|
57
|
-
# @api private
|
58
|
-
# @since 2.2.0
|
59
|
-
def module_namespace_declaration
|
60
|
-
namespaces.each_with_index.map { |token, i|
|
61
|
-
"#{OFFSET}#{INDENTATION * i}module #{inflector.camelize(token)}"
|
62
|
-
}.join($/)
|
63
|
-
end
|
64
|
-
|
65
|
-
# @api private
|
66
|
-
# @since 2.2.0
|
67
|
-
def module_namespace_end
|
68
|
-
namespaces.each_with_index.map { |_, i|
|
69
|
-
"#{OFFSET}#{INDENTATION * i}end"
|
70
|
-
}.reverse.join($/)
|
71
|
-
end
|
72
|
-
|
73
|
-
# @api private
|
74
|
-
# @since 2.2.0
|
75
|
-
def module_namespace_offset
|
76
|
-
"#{OFFSET}#{INDENTATION * namespaces.count}"
|
77
|
-
end
|
78
|
-
end
|
79
|
-
end
|
80
|
-
end
|
81
|
-
end
|
82
|
-
end
|
@@ -1,13 +0,0 @@
|
|
1
|
-
# auto_register: false
|
2
|
-
# frozen_string_literal: true
|
3
|
-
|
4
|
-
module <%= camelized_app_name %>
|
5
|
-
module Views
|
6
|
-
module Parts
|
7
|
-
<%= module_namespace_declaration -%>
|
8
|
-
<%= module_namespace_offset %>class <%= camelized_name %> < <%= camelized_app_name %>::Views::Part
|
9
|
-
<%= module_namespace_offset %>end
|
10
|
-
<%= module_namespace_end -%>
|
11
|
-
end
|
12
|
-
end
|
13
|
-
end
|
@@ -1,13 +0,0 @@
|
|
1
|
-
# auto_register: false
|
2
|
-
# frozen_string_literal: true
|
3
|
-
|
4
|
-
module <%= camelized_slice_name %>
|
5
|
-
module Views
|
6
|
-
module Parts
|
7
|
-
<%= module_namespace_declaration -%>
|
8
|
-
<%= module_namespace_offset %>class <%= camelized_name %> < <%= camelized_slice_name %>::Views::Part
|
9
|
-
<%= module_namespace_offset %>end
|
10
|
-
<%= module_namespace_end -%>
|
11
|
-
end
|
12
|
-
end
|
13
|
-
end
|
@@ -1,82 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
require "dry/files/path"
|
4
|
-
require_relative "slice_context"
|
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 PartContext < 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_name
|
42
|
-
inflector.camelize(name)
|
43
|
-
end
|
44
|
-
|
45
|
-
# @since 2.1.0
|
46
|
-
# @api private
|
47
|
-
def underscored_namespace
|
48
|
-
namespaces.map { inflector.underscore(_1) }
|
49
|
-
end
|
50
|
-
|
51
|
-
# @since 2.1.0
|
52
|
-
# @api private
|
53
|
-
def underscored_name
|
54
|
-
inflector.underscore(name)
|
55
|
-
end
|
56
|
-
|
57
|
-
# @since 2.1.0
|
58
|
-
# @api private
|
59
|
-
def module_namespace_declaration
|
60
|
-
namespaces.each_with_index.map { |token, i|
|
61
|
-
"#{NESTED_OFFSET}#{INDENTATION * i}module #{inflector.camelize(token)}"
|
62
|
-
}.join($/)
|
63
|
-
end
|
64
|
-
|
65
|
-
# @since 2.1.0
|
66
|
-
# @api private
|
67
|
-
def module_namespace_end
|
68
|
-
namespaces.each_with_index.map { |_, i|
|
69
|
-
"#{NESTED_OFFSET}#{INDENTATION * i}end"
|
70
|
-
}.reverse.join($/)
|
71
|
-
end
|
72
|
-
|
73
|
-
# @since 2.1.0
|
74
|
-
# @api private
|
75
|
-
def module_namespace_offset
|
76
|
-
"#{NESTED_OFFSET}#{INDENTATION * namespaces.count}"
|
77
|
-
end
|
78
|
-
end
|
79
|
-
end
|
80
|
-
end
|
81
|
-
end
|
82
|
-
end
|