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
|