abyme 0.6.3 → 0.6.4
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/.DS_Store +0 -0
- data/Gemfile.lock +3 -5
- data/abyme.gemspec +3 -1
- data/lib/abyme/version.rb +1 -1
- data/lib/abyme/view_helpers.rb +15 -2
- data/lib/generators/abyme/view/view_generator.rb +4 -0
- data/lib/templates/erb/scaffold/_form.html.erb +15 -0
- metadata +17 -16
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: aa7e981607f8bab371a8cef7529510076e0095db0b3c1908ba045e21df10a476
|
4
|
+
data.tar.gz: f25822329ba46b8418e4d0507291b590a3ce3e9b1f2ff2a7b25ff78821fbb0dd
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 77ea88778c1373472d1c8af396e235e6d51331ffabab8b613763a0fabb89ced08d76d0741af52254774d80011a2a77786520fd52f4385de8e212b5f3858884f4
|
7
|
+
data.tar.gz: 999cadbcf32145e4f1968815779d1828f04a272c1923135a5a049b40e676889755349c19b377f1b97913301b15ffce2650e9f4641442b4037d4851a1ba73b353
|
data/.DS_Store
CHANGED
Binary file
|
data/Gemfile.lock
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
abyme (0.6.
|
4
|
+
abyme (0.6.4)
|
5
5
|
|
6
6
|
GEM
|
7
7
|
remote: https://rubygems.org/
|
@@ -100,11 +100,9 @@ GEM
|
|
100
100
|
marcel (1.0.1)
|
101
101
|
method_source (1.0.0)
|
102
102
|
mini_mime (1.1.0)
|
103
|
-
mini_portile2 (2.5.3)
|
104
103
|
minitest (5.14.4)
|
105
104
|
nio4r (2.5.7)
|
106
|
-
nokogiri (1.11.7)
|
107
|
-
mini_portile2 (~> 2.5.0)
|
105
|
+
nokogiri (1.11.7-x86_64-darwin)
|
108
106
|
racc (~> 1.4)
|
109
107
|
pry (0.13.1)
|
110
108
|
coderay (~> 1.1)
|
@@ -211,7 +209,7 @@ GEM
|
|
211
209
|
zeitwerk (2.4.2)
|
212
210
|
|
213
211
|
PLATFORMS
|
214
|
-
|
212
|
+
x86_64-darwin-19
|
215
213
|
|
216
214
|
DEPENDENCIES
|
217
215
|
abyme!
|
data/abyme.gemspec
CHANGED
@@ -26,6 +26,9 @@ Gem::Specification.new do |spec|
|
|
26
26
|
spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
|
27
27
|
spec.require_paths = ["lib"]
|
28
28
|
|
29
|
+
# SimpleForm dependency is only required for test purposes and optional behaviour
|
30
|
+
spec.add_development_dependency 'simple_form'
|
31
|
+
|
29
32
|
spec.add_development_dependency "bundler", "~> 2.0"
|
30
33
|
spec.add_development_dependency "rake", "~> 13.0"
|
31
34
|
# Tests
|
@@ -42,7 +45,6 @@ Gem::Specification.new do |spec|
|
|
42
45
|
spec.add_development_dependency 'pry-byebug'
|
43
46
|
spec.add_development_dependency 'byebug'
|
44
47
|
spec.add_development_dependency 'web-console'
|
45
|
-
spec.add_development_dependency 'simple_form'
|
46
48
|
|
47
49
|
spec.add_development_dependency 'puma'
|
48
50
|
spec.add_development_dependency 'simplecov'
|
data/lib/abyme/version.rb
CHANGED
data/lib/abyme/view_helpers.rb
CHANGED
@@ -113,7 +113,7 @@ module Abyme
|
|
113
113
|
|
114
114
|
content_tag(:div, build_attributes(wrapper_default, options[:wrapper_html])) do
|
115
115
|
content_tag(:template, class: "abyme--#{association.to_s.singularize}_template", data: {abyme_target: "template"}) do
|
116
|
-
form
|
116
|
+
fields_for_builder form, association, association.to_s.classify.constantize.new, child_index: "NEW_RECORD" do |f|
|
117
117
|
content_tag(:div, build_attributes(fields_default, basic_fields_markup(options[:fields_html], association))) do
|
118
118
|
# Here, if a block is passed, we're passing the association fields to it, rather than the form itself
|
119
119
|
# block_given? ? yield(f) : render(options[:partial] || "abyme/#{association.to_s.singularize}_fields", f: f)
|
@@ -182,7 +182,7 @@ module Abyme
|
|
182
182
|
end
|
183
183
|
|
184
184
|
content_tag(:div, options[:wrapper_html]) do
|
185
|
-
form
|
185
|
+
fields_for_builder(form, association, records) do |f|
|
186
186
|
content_tag(:div, build_attributes(fields_default, basic_fields_markup(options[:fields_html], association))) do
|
187
187
|
block_given? ? yield(f) : render_association_partial(association, f, options[:partial])
|
188
188
|
end
|
@@ -213,6 +213,19 @@ module Abyme
|
|
213
213
|
|
214
214
|
private
|
215
215
|
|
216
|
+
# FORM BUILDER SELECTION
|
217
|
+
|
218
|
+
# If form builder inherits from SimpleForm, we should use its fields_for helper to keep the wrapper options
|
219
|
+
# :nocov:
|
220
|
+
def fields_for_builder(form, association, records, options = {}, &block)
|
221
|
+
if defined?(SimpleForm) && form.instance_of?(SimpleForm::FormBuilder)
|
222
|
+
form.simple_fields_for(association, records, options, &block)
|
223
|
+
else
|
224
|
+
form.fields_for(association, records, options, &block)
|
225
|
+
end
|
226
|
+
end
|
227
|
+
# :nocov:
|
228
|
+
|
216
229
|
# CREATE_BUTTON
|
217
230
|
|
218
231
|
# this helper is call by either add_associated_record or remove_associated_record
|
@@ -8,6 +8,7 @@ module Abyme
|
|
8
8
|
argument :association, type: :string, required: true, banner: "association association"
|
9
9
|
argument :attributes, type: :array, default: [], banner: "field field"
|
10
10
|
|
11
|
+
# :nocov:
|
11
12
|
def create_partial_file
|
12
13
|
create_file partial_file_path
|
13
14
|
if defined?(SimpleForm)
|
@@ -16,6 +17,7 @@ module Abyme
|
|
16
17
|
insert_fields
|
17
18
|
end
|
18
19
|
end
|
20
|
+
# :nocov:
|
19
21
|
|
20
22
|
private
|
21
23
|
|
@@ -23,6 +25,7 @@ module Abyme
|
|
23
25
|
Rails.root.join("app", "views", "abyme", "_#{association.downcase.singularize}_fields.html.erb")
|
24
26
|
end
|
25
27
|
|
28
|
+
# :nocov:
|
26
29
|
def insert_fields(builder = nil)
|
27
30
|
return unless File.exist? partial_file_path
|
28
31
|
if builder == :simple_form
|
@@ -31,6 +34,7 @@ module Abyme
|
|
31
34
|
insert_into_file(partial_file_path, "<%# Insert #{association.downcase} fields below %>\n" << default_keys)
|
32
35
|
end
|
33
36
|
end
|
37
|
+
# :nocov:
|
34
38
|
|
35
39
|
def simple_form_fields
|
36
40
|
inputs = if attributes.include?("all_attributes")
|
@@ -0,0 +1,15 @@
|
|
1
|
+
<%# frozen_string_literal: true %>
|
2
|
+
<%%= simple_form_for(@<%= singular_table_name %>) do |f| %>
|
3
|
+
<%%= f.error_notification %>
|
4
|
+
<%%= f.error_notification message: f.object.errors[:base].to_sentence if f.object.errors[:base].present? %>
|
5
|
+
|
6
|
+
<div class="form-inputs">
|
7
|
+
<%- attributes.each do |attribute| -%>
|
8
|
+
<%%= f.<%= attribute.reference? ? :association : :input %> :<%= attribute.name %> %>
|
9
|
+
<%- end -%>
|
10
|
+
</div>
|
11
|
+
|
12
|
+
<div class="form-actions">
|
13
|
+
<%%= f.button :submit %>
|
14
|
+
</div>
|
15
|
+
<%% end %>
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: abyme
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.6.
|
4
|
+
version: 0.6.4
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Romain Sanson
|
@@ -9,8 +9,22 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: exe
|
11
11
|
cert_chain: []
|
12
|
-
date: 2021-
|
12
|
+
date: 2021-07-03 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
|
+
- !ruby/object:Gem::Dependency
|
15
|
+
name: simple_form
|
16
|
+
requirement: !ruby/object:Gem::Requirement
|
17
|
+
requirements:
|
18
|
+
- - ">="
|
19
|
+
- !ruby/object:Gem::Version
|
20
|
+
version: '0'
|
21
|
+
type: :development
|
22
|
+
prerelease: false
|
23
|
+
version_requirements: !ruby/object:Gem::Requirement
|
24
|
+
requirements:
|
25
|
+
- - ">="
|
26
|
+
- !ruby/object:Gem::Version
|
27
|
+
version: '0'
|
14
28
|
- !ruby/object:Gem::Dependency
|
15
29
|
name: bundler
|
16
30
|
requirement: !ruby/object:Gem::Requirement
|
@@ -193,20 +207,6 @@ dependencies:
|
|
193
207
|
- - ">="
|
194
208
|
- !ruby/object:Gem::Version
|
195
209
|
version: '0'
|
196
|
-
- !ruby/object:Gem::Dependency
|
197
|
-
name: simple_form
|
198
|
-
requirement: !ruby/object:Gem::Requirement
|
199
|
-
requirements:
|
200
|
-
- - ">="
|
201
|
-
- !ruby/object:Gem::Version
|
202
|
-
version: '0'
|
203
|
-
type: :development
|
204
|
-
prerelease: false
|
205
|
-
version_requirements: !ruby/object:Gem::Requirement
|
206
|
-
requirements:
|
207
|
-
- - ">="
|
208
|
-
- !ruby/object:Gem::Version
|
209
|
-
version: '0'
|
210
210
|
- !ruby/object:Gem::Dependency
|
211
211
|
name: puma
|
212
212
|
requirement: !ruby/object:Gem::Requirement
|
@@ -300,6 +300,7 @@ files:
|
|
300
300
|
- lib/generators/abyme/stimulus/stimulus_generator.rb
|
301
301
|
- lib/generators/abyme/view/USAGE
|
302
302
|
- lib/generators/abyme/view/view_generator.rb
|
303
|
+
- lib/templates/erb/scaffold/_form.html.erb
|
303
304
|
- node_modules/.yarn-integrity
|
304
305
|
- package-lock.json
|
305
306
|
- package.json
|