Sha256: b0648839a9b74413f526534eb29535a41ac0cf363391a59c1ca728309678d9ac

Contents?: true

Size: 654 Bytes

Versions: 107

Compression:

Stored size: 654 Bytes

Contents

module Avo
  module Fields
    module Concerns
      module IsRequired
        extend ActiveSupport::Concern

        def is_required?
          return required_from_validators if required.nil?

          Avo::ExecutionContext.new(target: required, record: record, view: view, resource: resource).handle
        end

        private

        def required_from_validators
          return false if record.nil?

          validators.any? do |validator|
            validator.is_a? ActiveModel::Validations::PresenceValidator
          end
        end

        def validators
          record.class.validators_on(id)
        end
      end
    end
  end
end

Version data entries

107 entries across 107 versions & 1 rubygems

Version Path
avo-3.10.10 lib/avo/fields/concerns/is_required.rb
avo-3.10.9 lib/avo/fields/concerns/is_required.rb
avo-3.10.8 lib/avo/fields/concerns/is_required.rb
avo-3.10.7 lib/avo/fields/concerns/is_required.rb
avo-3.10.6 lib/avo/fields/concerns/is_required.rb
avo-3.10.5 lib/avo/fields/concerns/is_required.rb
avo-3.10.4 lib/avo/fields/concerns/is_required.rb
avo-3.10.3 lib/avo/fields/concerns/is_required.rb
avo-3.10.2 lib/avo/fields/concerns/is_required.rb
avo-3.10.1 lib/avo/fields/concerns/is_required.rb
avo-3.10.0 lib/avo/fields/concerns/is_required.rb
avo-3.9.2 lib/avo/fields/concerns/is_required.rb
avo-3.9.1 lib/avo/fields/concerns/is_required.rb
avo-3.8.2 lib/avo/fields/concerns/is_required.rb
avo-3.9.0 lib/avo/fields/concerns/is_required.rb
avo-3.8.1 lib/avo/fields/concerns/is_required.rb
avo-3.8.0 lib/avo/fields/concerns/is_required.rb
avo-3.6.4 lib/avo/fields/concerns/is_required.rb
avo-3.6.3 lib/avo/fields/concerns/is_required.rb
avo-3.6.2 lib/avo/fields/concerns/is_required.rb