Module: DatabaseValidations::KeyGenerator

Defined in:
lib/database_validations/lib/key_generator.rb

Class Method Summary collapse

Class Method Details

.for_db_presence(column) ⇒ String

Returns:

  • (String)


18
19
20
# File 'lib/database_validations/lib/key_generator.rb', line 18

def for_db_presence(column)
  generate_key(:db_presence, column)
end

.for_db_uniqueness(*columns) ⇒ String

Returns:

  • (String)


13
14
15
# File 'lib/database_validations/lib/key_generator.rb', line 13

def for_db_uniqueness(*columns)
  generate_key(:db_uniqueness, columns)
end

.for_unique_index(index_name) ⇒ String

Parameters:

  • index_name (String)

Returns:

  • (String)


8
9
10
# File 'lib/database_validations/lib/key_generator.rb', line 8

def for_unique_index(index_name)
  generate_key(:unique_index, index_name)
end

.generate_key(type, *args) ⇒ String

Returns:

  • (String)


23
24
25
# File 'lib/database_validations/lib/key_generator.rb', line 23

def generate_key(type, *args)
  [type, *unify_columns(args)].join('__')
end

.unify_columns(*args) ⇒ String

Returns:

  • (String)


28
29
30
# File 'lib/database_validations/lib/key_generator.rb', line 28

def unify_columns(*args)
  args.flatten.compact.map(&:to_s).sort
end