Method: #validate_uniqueness

Defined in:
lib/metarecord/generators/crails/helpers/validations.rb

#validate_uniqueness(source_type, name) ⇒ Object



23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
# File 'lib/metarecord/generators/crails/helpers/validations.rb', line 23

def validate_uniqueness source_type, name
  if source_type.start_with?("std::shared_ptr")
    type = source_type[16..-2]
<<CPP
  {
    #{GeneratorBase.odb_connection[:object]} database;
    odb::result<#{source_type}> results;

    database.find(results, odb::query<#{source_type}::#{name}->id == get_#{name}_id());
    if (results.size() > 0)
      errors["#{name}"]["t"] = "validate.uniqueness";
  }
CPP
  else
<<CPP
  {
    #{GeneratorBase.odb_connection[:object]} database;
    odb::result<#{source_type}> results;

    database.find(results, odb::query<#{source_type}::#{name} == #{name});
    if (results.size() > 0)
      errors["#{name}"]["t"] = "validate.uniqueness";
  }
CPP
  end
end