dynamic_scaffold 0.9.2 → 0.10.0

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: edf0775198c6f5d26a90789eda885512b98fe751f3b87e89c25deee394ea6383
4
- data.tar.gz: 1d3df6f9ae421979a3a64cbcd7b286a53855eb6f132dae87f7abbe41c7b8375c
3
+ metadata.gz: 511cee2fb3f2ed11b3b099f9691e077d1adc9eb4a86e242a0d66aece75dd8ce9
4
+ data.tar.gz: 714fb49999de05b2498d5bf632b5dc5cbb1f37558fc314828742faf9f19d27fe
5
5
  SHA512:
6
- metadata.gz: da3a9f985c4e2576403ef2ab81caea9ee302aaa83cd961845d39ba65f1fb2a7ffe9314c4cf1201c662719d2933f4abea6c4be14e9cbffeefe7cff51e3c41fa1b
7
- data.tar.gz: 6f1a8cee72198a94986102feec4512e12b3df1b9b71b0fed6570409256a073a0f9c31ec08ac67ffe11ba143bf998eda586445afecf3900149faf81be2cee8c06
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 |params|
550
+ config.title.name do
546
551
  I18n.t "enum.user.role.#{params[role]}", default: params[role].titleize
547
552
  end
548
553
  ```
@@ -80,13 +80,13 @@ module DynamicScaffold
80
80
  titles(:new)
81
81
  end
82
82
 
83
- # def update
84
- # edit
85
- # end
83
+ def update
84
+ titles(:edit)
85
+ end
86
86
 
87
- # def create
88
- # create
89
- # end
87
+ def create
88
+ titles(:new)
89
+ end
90
90
 
91
91
  private
92
92
 
@@ -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.default if dynamic_scaffold.model.column_names.include?(item.name.to_s)
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
- return @default if value.nil?
140
- @default = value
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)
@@ -1,3 +1,3 @@
1
1
  module DynamicScaffold
2
- VERSION = '0.9.2'.freeze
2
+ VERSION = '0.10.0'.freeze
3
3
  end
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.9.2
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-01 00:00:00.000000000 Z
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