Module: Sequel::Plugins::SexyValidations::ClassMethods

Defined in:
lib/sequel_sexy_validations.rb

Instance Method Summary collapse

Instance Method Details

#load_validator(name) ⇒ Object



29
30
31
32
33
34
35
36
# File 'lib/sequel_sexy_validations.rb', line 29

def load_validator(name)
  begin
    require "sequel_sexy_validations/validators/#{name}"
    "Sequel::Plugins::SexyValidations::Validators::#{name.to_s.camelize}".constantize
  rescue LoadError
    super
  end
end

#validates(attribute = nil, validations = nil, &block) ⇒ Object



13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
# File 'lib/sequel_sexy_validations.rb', line 13

def validates(attribute = nil, validations = nil, &block)
  if validations
    if validations[:if]
      validations[:if] = [validations[:if]] unless validations[:if].is_a?(Array)
      implement_special_validation_conditions!(validations[:if])
    end

    if validations[:unless]
      validations[:unless] = [validations[:unless]] unless validations[:unless].is_a?(Array)
      implement_special_validation_conditions!(validations[:unless])
    end
  end

  super(attribute, validations, &block)
end