Sha256: dcf7be6cc615cd7cce384a3213f94f97a4e5a708b9c9b5731b782903dfc27222
Contents?: true
Size: 818 Bytes
Versions: 32
Compression:
Stored size: 818 Bytes
Contents
# frozen_string_literal: true module Phlexi module Form module Options module Required def required? options.fetch(:required) { options[:required] = calculate_required } end def required!(required = true) options[:required] = required self end private def calculate_required if has_validators? required_by_validators? else required_by_default? end end def required_by_validators? (attribute_validators + association_reflection_validators).any? { |v| v.kind == :presence && valid_validator?(v) } end def required_by_default? # TODO: get this from configuration false end end end end end
Version data entries
32 entries across 32 versions & 1 rubygems