Module: DatabaseValidations::ClassMethods

Defined in:
lib/database_validations/validations/belongs_to_handlers.rb,
lib/database_validations/validations/uniqueness_handlers.rb

Instance Method Summary collapse

Instance Method Details

#db_belongs_to(name, scope = nil, **options) ⇒ Object



51
52
53
54
55
56
57
58
59
60
61
62
# File 'lib/database_validations/validations/belongs_to_handlers.rb', line 51

def db_belongs_to(name, scope = nil, **options)
  include(DatabaseValidations::ValidWithoutDatabaseValidations)
  @database_validations_opts ||= DatabaseValidations::OptionsStorage.new(self)

  belongs_to(name, scope, options.merge(optional: true))

  foreign_key = reflections[name.to_s].foreign_key

  @database_validations_opts.push_belongs_to(foreign_key, name)

  include(DatabaseValidations::BelongsToHandlers)
end

#validates_db_uniqueness_of(*attributes) ⇒ Object



43
44
45
46
47
48
49
50
51
52
53
54
# File 'lib/database_validations/validations/uniqueness_handlers.rb', line 43

def validates_db_uniqueness_of(*attributes)
  include(DatabaseValidations::ValidWithoutDatabaseValidations)
  @database_validations_opts ||= DatabaseValidations::OptionsStorage.new(self)

  options = attributes.extract_options!

  attributes.each do |attribute|
    @database_validations_opts.push_uniqueness(attribute, options.merge(attributes: attribute))
  end

  include(DatabaseValidations::UniquenessHandlers)
end