effective_bootstrap 1.21.0 → 1.21.2

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 9f01c075e89faa738c6f28de62d9a092c3d5b73611be79c3099d8e5d8305ffb8
4
- data.tar.gz: 002d792f358b25088cf6977d025d12867123bc13f62df05a3b4a817c7dfcd67e
3
+ metadata.gz: 0b8ff70344d83b63351e5b03f2c05c82fc2c14bb45588a973dfadd8c644efd28
4
+ data.tar.gz: f8f97aa9e4e108c25cd521aca8d656a5086f6bfc6a4857b4ed71c6d639ba0025
5
5
  SHA512:
6
- metadata.gz: 3225e0a9918a11bd6dbe7e1edb07b7711df0ae108f254cdc903ff801168e3f26302bbf75d730531706a9c67ee124aa115a259d364913f0d8dc946cb7c202fc79
7
- data.tar.gz: 8c20e178bef5c7805e52b8ffe774a731ca15bb2c975c324d7dbc9c6f79a5152a5d14316d2182a31491449255bd8a6e247c967df3dc67b4304d1504d92da465ae
6
+ metadata.gz: c73246a94e4a8d2fd8b4c4af5415ea1ca5ba555a7c54a4bbafd5a0f942726f1e512e3ea86e59f082bd58d56c6c3573a8950fccaad44c46bfb83724e072b8a2fd
7
+ data.tar.gz: bc720e9b612b6a28b1144a993f87b2f1d51b4f48c8e9a818d47881e4c1c5c4ba4a7aa30122983b9b28fc7ff61fa907e70ef458bca03ae3dfa91be1d107b50eae
@@ -222,6 +222,7 @@ module Effective
222
222
 
223
223
  def required?(name)
224
224
  return false unless object && name
225
+ return false if @builder.options[:skip_required] # Set by a f.has_many
225
226
 
226
227
  obj = (object.class == Class) ? object : object.class
227
228
  return false unless obj.respond_to?(:validators_on)
@@ -132,6 +132,10 @@ module Effective
132
132
  end
133
133
  end
134
134
 
135
+ def reject_proc_present?(name)
136
+ @builder.object.class.reflect_on_association(name)&.active_record&.nested_attributes_options&.dig(name)&.key?(:reject_if)
137
+ end
138
+
135
139
  def render_resource(resource, block, skip_disabled: nil)
136
140
  remove = BLANK
137
141
  reorder = BLANK
@@ -140,6 +144,7 @@ module Effective
140
144
 
141
145
  content = @builder.fields_for(name, resource) do |form|
142
146
  form.disabled = disabled? unless skip_disabled
147
+ form.options[:skip_required] = resource.try(:new_record?) && reject_proc_present?(name)
143
148
 
144
149
  fields = block.call(form)
145
150
 
@@ -243,10 +243,13 @@ module Effective
243
243
  value(name).each_with_index do |object, index|
244
244
  builder = TableBuilder.new(object, template, options.reverse_merge(prefix: template.et(object) + " ##{index+1}"))
245
245
  builder.render(&block)
246
-
247
246
  builder.rows.each { |child, content| rows["#{name}_#{child}_#{index}".to_sym] = content }
248
247
  end
249
248
  end
249
+
250
+ rows[name] = "None" if value(name).blank?
251
+
252
+ nil
250
253
  end
251
254
 
252
255
  def fields_for(name, object, options = {}, &block)
@@ -1,3 +1,3 @@
1
1
  module EffectiveBootstrap
2
- VERSION = '1.21.0'.freeze
2
+ VERSION = '1.21.2'.freeze
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: effective_bootstrap
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.21.0
4
+ version: 1.21.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Code and Effect
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2025-06-03 00:00:00.000000000 Z
11
+ date: 2025-06-11 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails