sun-sword 0.0.2 → 0.0.3
Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: e4c9ef673af8d51240f8c706d4c18ca8286721cf860d3effca58aafcb3042a38
|
4
|
+
data.tar.gz: 57afc60235b6dd6a2bdd15906d039ad865cee125447290786af3385ceed0551e
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: ce22f06920d4dec14553da3a111e2d51040d4c8ac7a0c00a0faca90b2b80b03ef0926d5b74af43cca035eb955e74a390daf9cdfc5411870363161308828513d7
|
7
|
+
data.tar.gz: 7d026ad20c3fcf0e9b8c4d16ed226a2487efa837d0df7a52fe496b061b5094a3babcf79578dd5c1e288efb8019fb099f5c4751a2bd33a171d09ff49885ccf4ab
|
@@ -68,15 +68,16 @@ module SunSword
|
|
68
68
|
timestamp: :datetime_select,
|
69
69
|
time: :time_select,
|
70
70
|
enum: :select,
|
71
|
-
file: :file_field
|
71
|
+
file: :file_field,
|
72
|
+
files: :file_fields
|
72
73
|
}
|
73
74
|
end
|
74
75
|
|
75
76
|
def generate_form_fields_html
|
76
77
|
form_fields_html = ''
|
77
78
|
@form_fields.each do |field|
|
78
|
-
field_name = field[:name]
|
79
|
-
field_type = field[:type]
|
79
|
+
field_name = field[:name].to_sym
|
80
|
+
field_type = field[:type].to_sym
|
80
81
|
form_helper = @mapping_fields[field_type] || :text_field
|
81
82
|
input_id = "#{@variable_subject}_#{field_name}"
|
82
83
|
label_input_id = case form_helper
|
@@ -84,7 +85,6 @@ module SunSword
|
|
84
85
|
when :time_select then "#{input_id}_4i" # Hour
|
85
86
|
else input_id
|
86
87
|
end
|
87
|
-
|
88
88
|
field_html = <<-HTML
|
89
89
|
|
90
90
|
<div class="sm:grid sm:grid-cols-3 sm:items-start sm:gap-4 sm:py-6">
|
@@ -120,6 +120,25 @@ module SunSword
|
|
120
120
|
field_html += <<-HTML
|
121
121
|
<%= form.#{form_helper} :#{field_name}, { discard_second: true, id_prefix: '#{input_id}' }, { class: "text-gray-700 shadow-sm focus:ring-2 focus:ring-gray-300 focus:border-gray-300 sm:text-sm" } %>
|
122
122
|
HTML
|
123
|
+
when :file_fields
|
124
|
+
field_html += <<-HTML
|
125
|
+
<div class="flex max-w-2xl justify-center rounded-lg border border-dashed border-gray-300 px-6 py-10">
|
126
|
+
<div class="text-center">
|
127
|
+
<!-- SVG Icon -->
|
128
|
+
<svg class="mx-auto size-12 text-gray-300" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" data-slot="icon">
|
129
|
+
<path fill-rule="evenodd" d="M1.5 6a2.25 2.25 0 0 1 2.25-2.25h16.5A2.25 2.25 0 0 1 22.5 6v12a2.25 2.25 0 0 1-2.25 2.25H3.75A2.25 2.25 0 0 1 1.5 18V6ZM3 16.06V18c0 .414.336.75.75.75h16.5A.75.75 0 0 0 21 18v-1.94l-2.69-2.689a1.5 1.5 0 0 0-2.12 0l-.88.879.97.97a.75.75 0 1 1-1.06 1.06l-5.16-5.159a1.5 1.5 0 0 0-2.12 0L3 16.061Zm10.125-7.81a1.125 1.125 0 1 1 2.25 0 1.125 1.125 0 0 1-2.25 0Z" clip-rule="evenodd" />
|
130
|
+
</svg>
|
131
|
+
<div class="mt-4 flex text-sm text-gray-600">
|
132
|
+
<label for="<%= '#{input_id}' %>" class="relative cursor-pointer rounded-md bg-white font-semibold text-gray-600 hover:text-gray-500">
|
133
|
+
<span>Upload a file</span>
|
134
|
+
<%= form.file_field :#{field_name}, id: '#{input_id}', class: "sr-only", multiple: true %>
|
135
|
+
</label>
|
136
|
+
<p class="pl-1">or drag and drop</p>
|
137
|
+
</div>
|
138
|
+
<p class="text-xs text-gray-600">PNG, JPG, GIF, DOC etc.</p>
|
139
|
+
</div>
|
140
|
+
</div>
|
141
|
+
HTML
|
123
142
|
when :file_field
|
124
143
|
field_html += <<-HTML
|
125
144
|
<div class="flex max-w-2xl justify-center rounded-lg border border-dashed border-gray-300 px-6 py-10">
|
@@ -216,7 +235,13 @@ module SunSword
|
|
216
235
|
|
217
236
|
def strong_params
|
218
237
|
results = ''
|
219
|
-
@controllers.form_fields.
|
238
|
+
@controllers.form_fields.each do |field|
|
239
|
+
if field.type.to_s.eql?('files')
|
240
|
+
results << "{ #{field.name}: [] }, "
|
241
|
+
else
|
242
|
+
results << ":#{field.name}, "
|
243
|
+
end
|
244
|
+
end
|
220
245
|
results[0..-2]
|
221
246
|
end
|
222
247
|
end
|
@@ -1,6 +1,6 @@
|
|
1
1
|
# Template for the controller (controllers/controller.rb.tt)
|
2
2
|
class <%= [@route_scope_class, @scope_class].reject { |c| c.empty? }.join("::") %>Controller < ApplicationController
|
3
|
-
before_action :set_<%= @variable_subject %>, only: %i[
|
3
|
+
before_action :set_<%= @variable_subject %>, only: %i[edit update]
|
4
4
|
layout :set_layouts
|
5
5
|
|
6
6
|
# GET /<%= [@route_scope_path, @scope_path].reject { |c| c.empty? }.join("/") %>
|
@@ -8,7 +8,7 @@ class <%= [@route_scope_class, @scope_class].reject { |c| c.empty? }.join("::")
|
|
8
8
|
use_case = Core::UseCases::<%= [@route_scope_class, @scope_class, build_usecase_filename('list')].reject { |c| c.empty? }.join("::") %>
|
9
9
|
contract = use_case.contract!(build_contract({}))
|
10
10
|
result = use_case.new(contract).result
|
11
|
-
@<%= @
|
11
|
+
@<%= @variable_subject %> = Dry::Matcher::ResultMatcher.call(result) do |matcher|
|
12
12
|
matcher.success { |response| response }
|
13
13
|
matcher.failure { |errors| errors }
|
14
14
|
end
|
@@ -17,6 +17,13 @@ class <%= [@route_scope_class, @scope_class].reject { |c| c.empty? }.join("::")
|
|
17
17
|
|
18
18
|
# GET /<%= [@route_scope_path, @scope_path, ":uuid"].reject { |c| c.empty? }.join("/") %>
|
19
19
|
def show
|
20
|
+
use_case = Core::UseCases::<%= [@route_scope_class, @scope_class, build_usecase_filename('fetch', '_by_id')].reject { |c| c.empty? }.join("::") %>
|
21
|
+
contract = use_case.contract!(build_contract({ id: params[:id] }))
|
22
|
+
result = use_case.new(contract).result
|
23
|
+
@<%= @scope_path %> = Dry::Matcher::ResultMatcher.call(result) do |matcher|
|
24
|
+
matcher.success { |response| response }
|
25
|
+
matcher.failure { |errors| errors }
|
26
|
+
end
|
20
27
|
end
|
21
28
|
|
22
29
|
# GET /<%= [@route_scope_path, @scope_path, "new"].reject { |c| c.empty? }.join("/") %>
|
data/lib/sun_sword/version.rb
CHANGED
metadata
CHANGED
@@ -1,15 +1,29 @@
|
|
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.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- kotarominami
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2024-11-
|
11
|
+
date: 2024-11-22 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
14
|
+
name: rider-kick
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - "~>"
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: 0.0.5
|
20
|
+
type: :runtime
|
21
|
+
prerelease: false
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - "~>"
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: 0.0.5
|
13
27
|
- !ruby/object:Gem::Dependency
|
14
28
|
name: bundler
|
15
29
|
requirement: !ruby/object:Gem::Requirement
|