sun-sword 0.0.11 → 0.0.12
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 +57 -2
- data/Gemfile +8 -0
- data/Gemfile.lock +114 -55
- data/README.md +35 -13
- data/Rakefile +6 -10
- data/lib/generators/sun_sword/USAGE +22 -3
- data/lib/generators/sun_sword/frontend_generator.rb +77 -39
- data/lib/generators/sun_sword/frontend_generator_spec.rb +539 -0
- data/lib/generators/sun_sword/init_generator.rb +2 -0
- data/lib/generators/sun_sword/init_generator_spec.rb +82 -0
- data/lib/generators/sun_sword/scaffold_generator.rb +189 -24
- data/lib/generators/sun_sword/scaffold_generator_spec.rb +1414 -0
- data/lib/generators/sun_sword/templates_frontend/{Procfile.dev → Procfile.dev.tt} +1 -0
- data/lib/generators/sun_sword/templates_frontend/bin/{watch → watch.tt} +2 -1
- data/lib/generators/sun_sword/templates_frontend/config/{vite.json → vite.json.tt} +2 -1
- data/lib/generators/sun_sword/templates_frontend/controllers/application_controller.rb.tt +2 -2
- data/lib/generators/sun_sword/templates_frontend/controllers/tests_controller.rb +36 -0
- data/lib/generators/sun_sword/templates_frontend/controllers/tests_controller_spec.rb +62 -0
- data/lib/generators/sun_sword/templates_frontend/env.development +1 -1
- data/lib/generators/sun_sword/templates_frontend/frontend/entrypoints/application.js +2 -2
- data/lib/generators/sun_sword/templates_frontend/frontend/pages/tests-stimulus.js +31 -0
- data/lib/generators/sun_sword/templates_frontend/frontend/pages/web.js +12 -0
- data/lib/generators/sun_sword/templates_frontend/frontend/stylesheets/application.css +1 -3
- data/lib/generators/sun_sword/templates_frontend/helpers/application_helper.rb +17 -0
- data/lib/generators/sun_sword/templates_frontend/helpers/application_helper_spec.rb +30 -0
- data/lib/generators/sun_sword/templates_frontend/package.json.tt +14 -0
- data/lib/generators/sun_sword/templates_frontend/views/components/_action_destroy.html.erb.tt +1 -1
- data/lib/generators/sun_sword/templates_frontend/views/components/_alert.html.erb.tt +1 -1
- data/lib/generators/sun_sword/templates_frontend/views/layouts/application.html.erb.tt +3 -3
- data/lib/generators/sun_sword/templates_frontend/views/tests/_frame_content.html.erb +9 -0
- data/lib/generators/sun_sword/templates_frontend/views/tests/_log_entry.html.erb +4 -0
- data/lib/generators/sun_sword/templates_frontend/views/tests/_updated_content.html.erb +6 -0
- data/lib/generators/sun_sword/templates_frontend/views/tests/stimulus.html.erb +45 -0
- data/lib/generators/sun_sword/templates_frontend/views/tests/turbo_drive.html.erb +55 -0
- data/lib/generators/sun_sword/templates_frontend/views/tests/turbo_frame.html.erb +87 -0
- data/lib/generators/sun_sword/templates_frontend/vite.config.ts.tt +1 -1
- data/lib/generators/sun_sword/templates_init/config/initializers/sun_sword.rb +1 -0
- data/lib/generators/sun_sword/templates_scaffold/controllers/controller.rb.tt +24 -24
- data/lib/generators/sun_sword/templates_scaffold/controllers/controller_spec.rb.tt +398 -0
- data/lib/generators/sun_sword/templates_scaffold/views/index.html.erb.tt +5 -5
- data/lib/generators/sun_sword/templates_scaffold/views/show.html.erb.tt +3 -0
- data/lib/generators/tmp/db/structures/test_structure.yaml +42 -0
- data/lib/sun-sword.rb +1 -0
- data/lib/sun_sword/configuration_spec.rb +77 -0
- data/lib/sun_sword/version.rb +1 -1
- metadata +84 -30
- data/lib/generators/sun_sword/templates_frontend/controllers/site_controller.rb +0 -16
- data/lib/generators/sun_sword/templates_frontend/db/seeds.rb +0 -3
- data/lib/generators/sun_sword/templates_frontend/db/structures/example.yaml.tt +0 -106
- data/lib/generators/sun_sword/templates_frontend/frontend/pages/stimulus.js +0 -10
- data/lib/generators/sun_sword/templates_frontend/package.json +0 -7
- data/lib/generators/sun_sword/templates_frontend/views/site/_comment.html.erb.tt +0 -3
- data/lib/generators/sun_sword/templates_frontend/views/site/stimulus.html.erb.tt +0 -26
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
RSpec.describe SunSword::Configuration do
|
|
4
|
+
let(:test_class) do
|
|
5
|
+
Class.new do
|
|
6
|
+
extend SunSword::Configuration
|
|
7
|
+
end
|
|
8
|
+
end
|
|
9
|
+
|
|
10
|
+
describe '.setup' do
|
|
11
|
+
it 'yields self to the block' do
|
|
12
|
+
yielded_object = nil
|
|
13
|
+
test_class.setup do |config|
|
|
14
|
+
yielded_object = config
|
|
15
|
+
end
|
|
16
|
+
|
|
17
|
+
expect(yielded_object).to eq(test_class)
|
|
18
|
+
end
|
|
19
|
+
|
|
20
|
+
it 'allows configuration through the block' do
|
|
21
|
+
test_class.setup do |config|
|
|
22
|
+
config.define_setting(:test_setting, 'default_value')
|
|
23
|
+
end
|
|
24
|
+
|
|
25
|
+
expect(test_class.test_setting).to eq('default_value')
|
|
26
|
+
end
|
|
27
|
+
end
|
|
28
|
+
|
|
29
|
+
describe '.define_setting' do
|
|
30
|
+
it 'defines a getter method for the setting' do
|
|
31
|
+
test_class.define_setting(:api_key)
|
|
32
|
+
|
|
33
|
+
expect(test_class).to respond_to(:api_key)
|
|
34
|
+
end
|
|
35
|
+
|
|
36
|
+
it 'defines a setter method for the setting' do
|
|
37
|
+
test_class.define_setting(:api_key)
|
|
38
|
+
|
|
39
|
+
expect(test_class).to respond_to(:api_key=)
|
|
40
|
+
end
|
|
41
|
+
|
|
42
|
+
it 'sets default value when provided' do
|
|
43
|
+
test_class.define_setting(:timeout, 30)
|
|
44
|
+
|
|
45
|
+
expect(test_class.timeout).to eq(30)
|
|
46
|
+
end
|
|
47
|
+
|
|
48
|
+
it 'allows setting and getting values' do
|
|
49
|
+
test_class.define_setting(:database_url)
|
|
50
|
+
|
|
51
|
+
test_class.database_url = 'postgresql://localhost/test'
|
|
52
|
+
|
|
53
|
+
expect(test_class.database_url).to eq('postgresql://localhost/test')
|
|
54
|
+
end
|
|
55
|
+
|
|
56
|
+
it 'maintains separate values for different settings' do
|
|
57
|
+
test_class.define_setting(:host, 'localhost')
|
|
58
|
+
test_class.define_setting(:port, 3000)
|
|
59
|
+
|
|
60
|
+
expect(test_class.host).to eq('localhost')
|
|
61
|
+
expect(test_class.port).to eq(3000)
|
|
62
|
+
end
|
|
63
|
+
end
|
|
64
|
+
|
|
65
|
+
describe 'settings isolation' do
|
|
66
|
+
it 'maintains separate settings between different classes' do
|
|
67
|
+
class1 = Class.new { extend SunSword::Configuration }
|
|
68
|
+
class2 = Class.new { extend SunSword::Configuration }
|
|
69
|
+
|
|
70
|
+
class1.define_setting(:shared_setting, 'class1_value')
|
|
71
|
+
class2.define_setting(:shared_setting, 'class2_value')
|
|
72
|
+
|
|
73
|
+
expect(class1.shared_setting).to eq('class1_value')
|
|
74
|
+
expect(class2.shared_setting).to eq('class2_value')
|
|
75
|
+
end
|
|
76
|
+
end
|
|
77
|
+
end
|
data/lib/sun_sword/version.rb
CHANGED
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: sun-sword
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.0.
|
|
4
|
+
version: 0.0.12
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Kotaro Minami
|
|
@@ -15,40 +15,40 @@ dependencies:
|
|
|
15
15
|
requirements:
|
|
16
16
|
- - ">="
|
|
17
17
|
- !ruby/object:Gem::Version
|
|
18
|
-
version: '7.
|
|
18
|
+
version: '7.0'
|
|
19
19
|
- - "<"
|
|
20
20
|
- !ruby/object:Gem::Version
|
|
21
|
-
version: '
|
|
21
|
+
version: '9.0'
|
|
22
22
|
type: :runtime
|
|
23
23
|
prerelease: false
|
|
24
24
|
version_requirements: !ruby/object:Gem::Requirement
|
|
25
25
|
requirements:
|
|
26
26
|
- - ">="
|
|
27
27
|
- !ruby/object:Gem::Version
|
|
28
|
-
version: '7.
|
|
28
|
+
version: '7.0'
|
|
29
29
|
- - "<"
|
|
30
30
|
- !ruby/object:Gem::Version
|
|
31
|
-
version: '
|
|
31
|
+
version: '9.0'
|
|
32
32
|
- !ruby/object:Gem::Dependency
|
|
33
|
-
name:
|
|
33
|
+
name: hashie
|
|
34
34
|
requirement: !ruby/object:Gem::Requirement
|
|
35
35
|
requirements:
|
|
36
36
|
- - ">="
|
|
37
37
|
- !ruby/object:Gem::Version
|
|
38
|
-
version: '
|
|
38
|
+
version: '5.0'
|
|
39
39
|
- - "<"
|
|
40
40
|
- !ruby/object:Gem::Version
|
|
41
|
-
version: '
|
|
41
|
+
version: '6.0'
|
|
42
42
|
type: :runtime
|
|
43
43
|
prerelease: false
|
|
44
44
|
version_requirements: !ruby/object:Gem::Requirement
|
|
45
45
|
requirements:
|
|
46
46
|
- - ">="
|
|
47
47
|
- !ruby/object:Gem::Version
|
|
48
|
-
version: '
|
|
48
|
+
version: '5.0'
|
|
49
49
|
- - "<"
|
|
50
50
|
- !ruby/object:Gem::Version
|
|
51
|
-
version: '
|
|
51
|
+
version: '6.0'
|
|
52
52
|
- !ruby/object:Gem::Dependency
|
|
53
53
|
name: thor
|
|
54
54
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -87,58 +87,102 @@ dependencies:
|
|
|
87
87
|
name: bundler
|
|
88
88
|
requirement: !ruby/object:Gem::Requirement
|
|
89
89
|
requirements:
|
|
90
|
-
- - "
|
|
90
|
+
- - ">="
|
|
91
91
|
- !ruby/object:Gem::Version
|
|
92
92
|
version: '2.4'
|
|
93
|
+
- - "<"
|
|
94
|
+
- !ruby/object:Gem::Version
|
|
95
|
+
version: '3.0'
|
|
93
96
|
type: :development
|
|
94
97
|
prerelease: false
|
|
95
98
|
version_requirements: !ruby/object:Gem::Requirement
|
|
96
99
|
requirements:
|
|
97
|
-
- - "
|
|
100
|
+
- - ">="
|
|
98
101
|
- !ruby/object:Gem::Version
|
|
99
102
|
version: '2.4'
|
|
103
|
+
- - "<"
|
|
104
|
+
- !ruby/object:Gem::Version
|
|
105
|
+
version: '3.0'
|
|
106
|
+
- !ruby/object:Gem::Dependency
|
|
107
|
+
name: generator_spec
|
|
108
|
+
requirement: !ruby/object:Gem::Requirement
|
|
109
|
+
requirements:
|
|
110
|
+
- - ">="
|
|
111
|
+
- !ruby/object:Gem::Version
|
|
112
|
+
version: '0.9'
|
|
113
|
+
- - "<"
|
|
114
|
+
- !ruby/object:Gem::Version
|
|
115
|
+
version: '1.0'
|
|
116
|
+
type: :development
|
|
117
|
+
prerelease: false
|
|
118
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
119
|
+
requirements:
|
|
120
|
+
- - ">="
|
|
121
|
+
- !ruby/object:Gem::Version
|
|
122
|
+
version: '0.9'
|
|
123
|
+
- - "<"
|
|
124
|
+
- !ruby/object:Gem::Version
|
|
125
|
+
version: '1.0'
|
|
100
126
|
- !ruby/object:Gem::Dependency
|
|
101
127
|
name: rake
|
|
102
128
|
requirement: !ruby/object:Gem::Requirement
|
|
103
129
|
requirements:
|
|
104
|
-
- - "
|
|
130
|
+
- - ">="
|
|
105
131
|
- !ruby/object:Gem::Version
|
|
106
132
|
version: '13.0'
|
|
133
|
+
- - "<"
|
|
134
|
+
- !ruby/object:Gem::Version
|
|
135
|
+
version: '14.0'
|
|
107
136
|
type: :development
|
|
108
137
|
prerelease: false
|
|
109
138
|
version_requirements: !ruby/object:Gem::Requirement
|
|
110
139
|
requirements:
|
|
111
|
-
- - "
|
|
140
|
+
- - ">="
|
|
112
141
|
- !ruby/object:Gem::Version
|
|
113
142
|
version: '13.0'
|
|
143
|
+
- - "<"
|
|
144
|
+
- !ruby/object:Gem::Version
|
|
145
|
+
version: '14.0'
|
|
114
146
|
- !ruby/object:Gem::Dependency
|
|
115
147
|
name: rspec
|
|
116
148
|
requirement: !ruby/object:Gem::Requirement
|
|
117
149
|
requirements:
|
|
118
|
-
- - "
|
|
150
|
+
- - ">="
|
|
119
151
|
- !ruby/object:Gem::Version
|
|
120
152
|
version: '3.12'
|
|
153
|
+
- - "<"
|
|
154
|
+
- !ruby/object:Gem::Version
|
|
155
|
+
version: '4.0'
|
|
121
156
|
type: :development
|
|
122
157
|
prerelease: false
|
|
123
158
|
version_requirements: !ruby/object:Gem::Requirement
|
|
124
159
|
requirements:
|
|
125
|
-
- - "
|
|
160
|
+
- - ">="
|
|
126
161
|
- !ruby/object:Gem::Version
|
|
127
162
|
version: '3.12'
|
|
163
|
+
- - "<"
|
|
164
|
+
- !ruby/object:Gem::Version
|
|
165
|
+
version: '4.0'
|
|
128
166
|
- !ruby/object:Gem::Dependency
|
|
129
167
|
name: rubocop
|
|
130
168
|
requirement: !ruby/object:Gem::Requirement
|
|
131
169
|
requirements:
|
|
132
|
-
- - "
|
|
170
|
+
- - ">="
|
|
171
|
+
- !ruby/object:Gem::Version
|
|
172
|
+
version: '1.63'
|
|
173
|
+
- - "<"
|
|
133
174
|
- !ruby/object:Gem::Version
|
|
134
|
-
version: '
|
|
175
|
+
version: '2.0'
|
|
135
176
|
type: :development
|
|
136
177
|
prerelease: false
|
|
137
178
|
version_requirements: !ruby/object:Gem::Requirement
|
|
138
179
|
requirements:
|
|
139
|
-
- - "
|
|
180
|
+
- - ">="
|
|
140
181
|
- !ruby/object:Gem::Version
|
|
141
|
-
version: '1.
|
|
182
|
+
version: '1.63'
|
|
183
|
+
- - "<"
|
|
184
|
+
- !ruby/object:Gem::Version
|
|
185
|
+
version: '2.0'
|
|
142
186
|
description: SunSword men-setup frontend (Vite/Stimulus/Tailwind) dan men-generate
|
|
143
187
|
struktur Clean Architecture untuk Rails 7.1/7.2/8 dengan generator yang idempotent,
|
|
144
188
|
reversible, dan minim gesekan.
|
|
@@ -156,18 +200,20 @@ files:
|
|
|
156
200
|
- Rakefile
|
|
157
201
|
- lib/generators/sun_sword/USAGE
|
|
158
202
|
- lib/generators/sun_sword/frontend_generator.rb
|
|
203
|
+
- lib/generators/sun_sword/frontend_generator_spec.rb
|
|
159
204
|
- lib/generators/sun_sword/init_generator.rb
|
|
205
|
+
- lib/generators/sun_sword/init_generator_spec.rb
|
|
160
206
|
- lib/generators/sun_sword/scaffold_generator.rb
|
|
161
|
-
- lib/generators/sun_sword/
|
|
207
|
+
- lib/generators/sun_sword/scaffold_generator_spec.rb
|
|
208
|
+
- lib/generators/sun_sword/templates_frontend/Procfile.dev.tt
|
|
162
209
|
- lib/generators/sun_sword/templates_frontend/assets/config/manifest.js
|
|
163
|
-
- lib/generators/sun_sword/templates_frontend/bin/watch
|
|
210
|
+
- lib/generators/sun_sword/templates_frontend/bin/watch.tt
|
|
164
211
|
- lib/generators/sun_sword/templates_frontend/config/database.yml
|
|
165
212
|
- lib/generators/sun_sword/templates_frontend/config/devise.rb
|
|
166
|
-
- lib/generators/sun_sword/templates_frontend/config/vite.json
|
|
213
|
+
- lib/generators/sun_sword/templates_frontend/config/vite.json.tt
|
|
167
214
|
- lib/generators/sun_sword/templates_frontend/controllers/application_controller.rb.tt
|
|
168
|
-
- lib/generators/sun_sword/templates_frontend/controllers/
|
|
169
|
-
- lib/generators/sun_sword/templates_frontend/
|
|
170
|
-
- lib/generators/sun_sword/templates_frontend/db/structures/example.yaml.tt
|
|
215
|
+
- lib/generators/sun_sword/templates_frontend/controllers/tests_controller.rb
|
|
216
|
+
- lib/generators/sun_sword/templates_frontend/controllers/tests_controller_spec.rb
|
|
171
217
|
- lib/generators/sun_sword/templates_frontend/env.development
|
|
172
218
|
- lib/generators/sun_sword/templates_frontend/frontend/assets/images/.keep
|
|
173
219
|
- lib/generators/sun_sword/templates_frontend/frontend/assets/images/kotaro.ico
|
|
@@ -175,11 +221,12 @@ files:
|
|
|
175
221
|
- lib/generators/sun_sword/templates_frontend/frontend/assets/images/profile.jpeg
|
|
176
222
|
- lib/generators/sun_sword/templates_frontend/frontend/entrypoints/application.js
|
|
177
223
|
- lib/generators/sun_sword/templates_frontend/frontend/entrypoints/stimulus.js
|
|
178
|
-
- lib/generators/sun_sword/templates_frontend/frontend/pages/stimulus.js
|
|
224
|
+
- lib/generators/sun_sword/templates_frontend/frontend/pages/tests-stimulus.js
|
|
179
225
|
- lib/generators/sun_sword/templates_frontend/frontend/pages/web.js
|
|
180
226
|
- lib/generators/sun_sword/templates_frontend/frontend/stylesheets/application.css
|
|
181
227
|
- lib/generators/sun_sword/templates_frontend/helpers/application_helper.rb
|
|
182
|
-
- lib/generators/sun_sword/templates_frontend/
|
|
228
|
+
- lib/generators/sun_sword/templates_frontend/helpers/application_helper_spec.rb
|
|
229
|
+
- lib/generators/sun_sword/templates_frontend/package.json.tt
|
|
183
230
|
- lib/generators/sun_sword/templates_frontend/rubocop.yml.tt
|
|
184
231
|
- lib/generators/sun_sword/templates_frontend/views/components/_action_destroy.html.erb.tt
|
|
185
232
|
- lib/generators/sun_sword/templates_frontend/views/components/_action_edit.html.erb.tt
|
|
@@ -191,11 +238,16 @@ files:
|
|
|
191
238
|
- lib/generators/sun_sword/templates_frontend/views/layouts/application.html.erb.tt
|
|
192
239
|
- lib/generators/sun_sword/templates_frontend/views/layouts/dashboard/_sidebar.html.erb.tt
|
|
193
240
|
- lib/generators/sun_sword/templates_frontend/views/layouts/dashboard/application.html.erb.tt
|
|
194
|
-
- lib/generators/sun_sword/templates_frontend/views/
|
|
195
|
-
- lib/generators/sun_sword/templates_frontend/views/
|
|
241
|
+
- lib/generators/sun_sword/templates_frontend/views/tests/_frame_content.html.erb
|
|
242
|
+
- lib/generators/sun_sword/templates_frontend/views/tests/_log_entry.html.erb
|
|
243
|
+
- lib/generators/sun_sword/templates_frontend/views/tests/_updated_content.html.erb
|
|
244
|
+
- lib/generators/sun_sword/templates_frontend/views/tests/stimulus.html.erb
|
|
245
|
+
- lib/generators/sun_sword/templates_frontend/views/tests/turbo_drive.html.erb
|
|
246
|
+
- lib/generators/sun_sword/templates_frontend/views/tests/turbo_frame.html.erb
|
|
196
247
|
- lib/generators/sun_sword/templates_frontend/vite.config.ts.tt
|
|
197
248
|
- lib/generators/sun_sword/templates_init/config/initializers/sun_sword.rb
|
|
198
249
|
- lib/generators/sun_sword/templates_scaffold/controllers/controller.rb.tt
|
|
250
|
+
- lib/generators/sun_sword/templates_scaffold/controllers/controller_spec.rb.tt
|
|
199
251
|
- lib/generators/sun_sword/templates_scaffold/example.rb.tt
|
|
200
252
|
- lib/generators/sun_sword/templates_scaffold/views/_form.html.erb.tt
|
|
201
253
|
- lib/generators/sun_sword/templates_scaffold/views/components/menu/link.html.erb.tt
|
|
@@ -203,8 +255,10 @@ files:
|
|
|
203
255
|
- lib/generators/sun_sword/templates_scaffold/views/index.html.erb.tt
|
|
204
256
|
- lib/generators/sun_sword/templates_scaffold/views/new.html.erb.tt
|
|
205
257
|
- lib/generators/sun_sword/templates_scaffold/views/show.html.erb.tt
|
|
258
|
+
- lib/generators/tmp/db/structures/test_structure.yaml
|
|
206
259
|
- lib/sun-sword.rb
|
|
207
260
|
- lib/sun_sword/configuration.rb
|
|
261
|
+
- lib/sun_sword/configuration_spec.rb
|
|
208
262
|
- lib/sun_sword/version.rb
|
|
209
263
|
homepage: https://github.com/kotaroisme/sun-sword
|
|
210
264
|
licenses:
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
class SiteController < ApplicationController
|
|
2
|
-
layout :set_layouts
|
|
3
|
-
def stimulus
|
|
4
|
-
@comment = '- WELCOME -'
|
|
5
|
-
end
|
|
6
|
-
|
|
7
|
-
def jadi_a
|
|
8
|
-
@comment = 'Kotaro'
|
|
9
|
-
render partial: 'site/comment'
|
|
10
|
-
end
|
|
11
|
-
|
|
12
|
-
def jadi_b
|
|
13
|
-
@comment = 'Minami'
|
|
14
|
-
render partial: 'site/comment'
|
|
15
|
-
end
|
|
16
|
-
end
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
account = Models::Account.first_or_create(name: 'KOTAROISME')
|
|
2
|
-
user = Models::User.create(full_name: 'Kotaro Minami', account_id: account.id, role: 'owner')
|
|
3
|
-
Models::Auth.create(email: 'kotaroisme@gmail.com', password: 'blankblank', password_confirmation: 'blankblank', account_id: account.id, user_id: user.id)
|
|
@@ -1,106 +0,0 @@
|
|
|
1
|
-
model: <%= @model_class %>
|
|
2
|
-
resource_name: <%= @scope_path %>
|
|
3
|
-
actor: <%= @actor %>
|
|
4
|
-
fields:
|
|
5
|
-
<% @model_class.columns.each do |field| -%>
|
|
6
|
-
- <%= field.name.to_s %>
|
|
7
|
-
<% end -%>
|
|
8
|
-
<% @uploaders.each do |field| -%>
|
|
9
|
-
- <%= field %>
|
|
10
|
-
<% end -%>
|
|
11
|
-
uploaders:
|
|
12
|
-
<% @uploaders.each do |field| -%>
|
|
13
|
-
- <%= field %>
|
|
14
|
-
<% end -%>
|
|
15
|
-
search_able:
|
|
16
|
-
<% contract_fields.each do |field| -%>
|
|
17
|
-
<% if ['title', 'name'].include?(field) -%>
|
|
18
|
-
- <%= field %>
|
|
19
|
-
<% end -%>
|
|
20
|
-
<% end -%>
|
|
21
|
-
controllers:
|
|
22
|
-
list_fields:
|
|
23
|
-
<% @fields.each do |field| -%>
|
|
24
|
-
- <%= field %>
|
|
25
|
-
<% end -%>
|
|
26
|
-
show_fields:
|
|
27
|
-
<% @model_class.columns.each do |field| -%>
|
|
28
|
-
- <%= field.name.to_s %>
|
|
29
|
-
<% end -%>
|
|
30
|
-
<% @uploaders.each do |field| -%>
|
|
31
|
-
- <%= field %>
|
|
32
|
-
<% end -%>
|
|
33
|
-
form_fields:
|
|
34
|
-
<% (@fields).each do |field| -%>
|
|
35
|
-
- name: <%= field %>
|
|
36
|
-
type: string
|
|
37
|
-
<% end -%>
|
|
38
|
-
<% (@uploaders).each do |field| -%>
|
|
39
|
-
- name: <%= field %>
|
|
40
|
-
type: file
|
|
41
|
-
<% end -%>
|
|
42
|
-
domains:
|
|
43
|
-
action_list:
|
|
44
|
-
endpoint:
|
|
45
|
-
is_auth: true
|
|
46
|
-
is_skip: false
|
|
47
|
-
parameters:
|
|
48
|
-
use_case:
|
|
49
|
-
contract:
|
|
50
|
-
action_fetch_by_id:
|
|
51
|
-
endpoint:
|
|
52
|
-
is_auth: true
|
|
53
|
-
is_skip: false
|
|
54
|
-
parameters:
|
|
55
|
-
use_case:
|
|
56
|
-
contract:
|
|
57
|
-
- required(:id).filled(:string)
|
|
58
|
-
action_create:
|
|
59
|
-
endpoint:
|
|
60
|
-
is_auth: true
|
|
61
|
-
is_skip: false
|
|
62
|
-
parameters:
|
|
63
|
-
use_case:
|
|
64
|
-
contract:
|
|
65
|
-
<% (@fields + @uploaders).each do |field| -%>
|
|
66
|
-
<% column_type = get_column_type(field) -%>
|
|
67
|
-
<% dry_type = @type_mapping[column_type.to_s] || ':string' -%>
|
|
68
|
-
<% if @uploaders.include?(field) -%>
|
|
69
|
-
- optional(:<%= field %>).maybe(<%= dry_type %>)
|
|
70
|
-
<% else -%>
|
|
71
|
-
- required(:<%= field %>).filled(<%= dry_type %>)
|
|
72
|
-
<% end -%>
|
|
73
|
-
<% end -%>
|
|
74
|
-
action_update:
|
|
75
|
-
endpoint:
|
|
76
|
-
is_auth: true
|
|
77
|
-
is_skip: false
|
|
78
|
-
parameters:
|
|
79
|
-
use_case:
|
|
80
|
-
contract:
|
|
81
|
-
- required(:id).filled(:string)
|
|
82
|
-
<% (@fields + @uploaders).each do |field| -%>
|
|
83
|
-
<% column_type = get_column_type(field) -%>
|
|
84
|
-
<% dry_type = @type_mapping[column_type.to_s] || ':string' -%>
|
|
85
|
-
<% if @uploaders.include?(field) -%>
|
|
86
|
-
- optional(:<%= field %>).maybe(<%= dry_type %>)
|
|
87
|
-
<% else -%>
|
|
88
|
-
- optional(:<%= field %>).maybe(<%= dry_type %>)
|
|
89
|
-
<% end -%>
|
|
90
|
-
<% end -%>
|
|
91
|
-
action_destroy:
|
|
92
|
-
endpoint:
|
|
93
|
-
is_auth: true
|
|
94
|
-
is_skip: false
|
|
95
|
-
parameters:
|
|
96
|
-
use_case:
|
|
97
|
-
contract:
|
|
98
|
-
- required(:id).filled(:string)
|
|
99
|
-
entity:
|
|
100
|
-
skipped_fields:
|
|
101
|
-
- id
|
|
102
|
-
- created_at
|
|
103
|
-
- updated_at
|
|
104
|
-
<% if @model_class.columns.map(&:name).include?(:type) -%>
|
|
105
|
-
- type
|
|
106
|
-
<% end -%>
|
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
<!--HTML from anywhere-->
|
|
2
|
-
<container class="flex flex-col h-screen items-center justify-center bg-orange-500" data-controller="site-stimulus">
|
|
3
|
-
<div class="w-full">
|
|
4
|
-
<div class="font-bold flex items-center justify-center">
|
|
5
|
-
<input data-site-stimulus-target="name" type="text" name="name" id="name" class="rounded-md border-0 py-1.5 text-orange-900 shadow-sm ring-1 ring-inset ring-orange-500 placeholder:text-orange-400 focus:ring-2 focus:ring-inset focus:ring-orange-500 mr-5" placeholder="Kotaro">
|
|
6
|
-
<button data-action="click->site-stimulus#greet" type="button" class="rounded-full bg-white p-2 text-orange-500 shadow-sm hover:bg-white-500 focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-orange-500">
|
|
7
|
-
<svg class="h-5 w-5" viewBox="0 0 20 20" fill="currentColor" aria-hidden="true" data-slot="icon">
|
|
8
|
-
<path d="M10.75 4.75a.75.75 0 0 0-1.5 0v4.5h-4.5a.75.75 0 0 0 0 1.5h4.5v4.5a.75.75 0 0 0 1.5 0v-4.5h4.5a.75.75 0 0 0 0-1.5h-4.5v-4.5Z"/>
|
|
9
|
-
</svg>
|
|
10
|
-
</button>
|
|
11
|
-
</div>
|
|
12
|
-
<br>
|
|
13
|
-
<div class="font-bold flex items-center justify-center">
|
|
14
|
-
<span class="text-white text-[2rem]" data-site-stimulus-target="output">. . .</span><br/>
|
|
15
|
-
</div>
|
|
16
|
-
</div>
|
|
17
|
-
<div class="w-full">
|
|
18
|
-
<div class="comment flex items-center justify-center">
|
|
19
|
-
<%%= render partial: "site/comment" %>
|
|
20
|
-
</div>
|
|
21
|
-
<div class="action flex items-center justify-center">
|
|
22
|
-
<%%= link_to "Kotaro", site_jadi_a_path, class: "class-button-outline m-2", data: { turbo_frame: "comment_show" } %>
|
|
23
|
-
<%%= link_to "Minami", site_jadi_b_path, class: "class-button-outline m-2", data: { turbo_frame: "comment_show" } %>
|
|
24
|
-
</div>
|
|
25
|
-
</div>
|
|
26
|
-
</container>
|