Module: Apicasso::ActiveRecordExtension::ClassMethods

Defined in:
lib/apicasso/active_record_extension.rb

Instance Method Summary collapse

Instance Method Details

#presence_validatorsObject



28
29
30
# File 'lib/apicasso/active_record_extension.rb', line 28

def presence_validators
  validated_attrs_for(:presence)
end

#presence_validators?Boolean

Returns:

  • (Boolean)


24
25
26
# File 'lib/apicasso/active_record_extension.rb', line 24

def presence_validators?
  presence_validators.present?
end

#validated_attrs_for(validation) ⇒ Object



12
13
14
15
16
17
18
19
20
21
22
# File 'lib/apicasso/active_record_extension.rb', line 12

def validated_attrs_for(validation)
  if validation.is_a?(String) || validation.is_a?(Symbol)
    klass = 'ActiveRecord::Validations::' \
            "#{validation.to_s.camelize}Validator"
    validation = klass.constantize
  end
  validators.select { |v| v.is_a?(validation) }
            .map(&:attributes)
            .flatten
            .map(&:to_sym)
end