dynamic_scaffold 0.9.2 → 0.10.0
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/README.md +6 -1
- data/lib/dynamic_scaffold/config.rb +6 -6
- data/lib/dynamic_scaffold/controller.rb +1 -1
- data/lib/dynamic_scaffold/form/item/base.rb +11 -3
- data/lib/dynamic_scaffold/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 511cee2fb3f2ed11b3b099f9691e077d1adc9eb4a86e242a0d66aece75dd8ce9
|
4
|
+
data.tar.gz: 714fb49999de05b2498d5bf632b5dc5cbb1f37558fc314828742faf9f19d27fe
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: a3fe10386210187fd95c4edcb3fa7485c157d8a1bbfaad9ce30e9f1b4503bcedb1b0c764845111d54467aeac84675500c39c3a6759f33a2d6b97286b20e608e9
|
7
|
+
data.tar.gz: 0f9da6f65463afed518b730d71d2bff6cb69a375a04b7be2d34030a67a542d5a3405ce3a77584377d9c6035c9f3bf8eb7e6ca3b48e3cfc8e6f8392bb4e59b9a0
|
data/README.md
CHANGED
@@ -218,8 +218,13 @@ class ShopController < ApplicationController
|
|
218
218
|
config.form.item :text_field, :name
|
219
219
|
# You can specify `label`.
|
220
220
|
config.form.item(:text_field, :name).label 'Shop Name'
|
221
|
+
|
221
222
|
# You can set default value for new action.
|
222
223
|
config.form.item(:text_field, :name).default('Foo Bar')
|
224
|
+
# default also accept block.
|
225
|
+
config.form.item(:text_field, :name).default do
|
226
|
+
Shop.find_by(shop_id: params[:shop_id])
|
227
|
+
end
|
223
228
|
|
224
229
|
# If you use hidden_field, the label will also be hidden.
|
225
230
|
config.form.item :hidden_field, :id
|
@@ -542,7 +547,7 @@ If you want to dynamically set according to url parameters, you can also use blo
|
|
542
547
|
class ShopController < ApplicationController
|
543
548
|
include DynamicScaffold::Controller
|
544
549
|
dynamic_scaffold Shop do |config|
|
545
|
-
config.title.name do
|
550
|
+
config.title.name do
|
546
551
|
I18n.t "enum.user.role.#{params[role]}", default: params[role].titleize
|
547
552
|
end
|
548
553
|
```
|
@@ -52,7 +52,7 @@ module DynamicScaffold
|
|
52
52
|
@record = dynamic_scaffold.model.new
|
53
53
|
|
54
54
|
defaults = dynamic_scaffold.form.items.each_with_object({}) do |item, memo|
|
55
|
-
memo[item.name] = item.
|
55
|
+
memo[item.name] = item.default_value(view_context) if dynamic_scaffold.model.column_names.include?(item.name.to_s)
|
56
56
|
end
|
57
57
|
|
58
58
|
@record.attributes = defaults.merge(scope_params)
|
@@ -135,9 +135,17 @@ module DynamicScaffold
|
|
135
135
|
proxy_target.first
|
136
136
|
end
|
137
137
|
|
138
|
-
def default(value = nil)
|
139
|
-
|
140
|
-
|
138
|
+
def default(value = nil, &block)
|
139
|
+
if block_given?
|
140
|
+
@default = block
|
141
|
+
else
|
142
|
+
@default = value
|
143
|
+
end
|
144
|
+
end
|
145
|
+
|
146
|
+
def default_value(view)
|
147
|
+
return view.instance_exec(&@default) if @default.is_a? Proc
|
148
|
+
@default
|
141
149
|
end
|
142
150
|
|
143
151
|
def insert(position, &block)
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: dynamic_scaffold
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.10.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Masamoto Miyata
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2018-09-
|
11
|
+
date: 2018-09-18 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: classnames-rails-view
|