module ValidatesLengthsFromDatabase::ClassMethods

Public Instance Methods

validate_lengths_from_database_options() click to toggle source
# File lib/validates_lengths_from_database/core.rb, line 33
def validate_lengths_from_database_options
  if defined? @validate_lengths_from_database_options
    @validate_lengths_from_database_options
  else
    # in case we inherited the validations, copy the options so that we can update it in child
    # without affecting the parent
    @validate_lengths_from_database_options = superclass.validate_lengths_from_database_options.inject({}) do |hash, (key, value)|
      value = value.dup if value.respond_to?(:dup)
      hash.update(key => value)
    end
  end
end
validates_lengths_from_database(options = {}) click to toggle source
# File lib/validates_lengths_from_database/core.rb, line 16
def validates_lengths_from_database(options = {})
  options.symbolize_keys!

  options[:only]    = Array[options[:only]]   if options[:only] && !options[:only].is_a?(Array)
  options[:except]  = Array[options[:except]] if options[:except] && !options[:except].is_a?(Array)
  options[:limit] ||= {}

  if options[:limit] and !options[:limit].is_a?(Hash)
    options[:limit] = {:string => options[:limit], :text => options[:limit], :decimal => options[:limit], :integer => options[:limit], :float => options[:limit]}
  end
  @validate_lengths_from_database_options = options

  validate :validate_lengths_from_database

  nil
end