module Apicasso::ActiveRecordExtension::ClassMethods

Module with class methods of Apicasso

Public Instance Methods

presence_validators() click to toggle source

Method that lists all presence validators

# File lib/apicasso/active_record_extension.rb, line 33
def presence_validators
  validated_attrs_for(:presence)
end
presence_validators?() click to toggle source
# File lib/apicasso/active_record_extension.rb, line 28
def presence_validators?
  presence_validators.present?
end
validated_attrs_for(validation) click to toggle source

Method that map validations for consumption on the Swagger JSON @param validation [Array] a validator to be checked @returns [Array] All validated attributes

# File lib/apicasso/active_record_extension.rb, line 16
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