Class: DatabaseValidations::Adapters::PostgresqlAdapter

Inherits:
BaseAdapter
  • Object
show all
Defined in:
lib/database_validations/validations/adapters/postgresql_adapter.rb

Constant Summary collapse

SUPPORTED_OPTIONS =
%i[scope message where if unless index_name case_sensitive].freeze
ADAPTER =
:postgresql

Instance Method Summary collapse

Methods inherited from BaseAdapter

#adapter_name, #find_foreign_key_by_column, #find_index, #find_index_by_name, #foreign_keys, #indexes, #initialize, #support_option?, #supported_options, #table_name

Constructor Details

This class inherits a constructor from DatabaseValidations::Adapters::BaseAdapter

Instance Method Details

#foreign_key_error_column(error_message) ⇒ Object



15
16
17
# File 'lib/database_validations/validations/adapters/postgresql_adapter.rb', line 15

def foreign_key_error_column(error_message)
  error_message[/Key \(([^)]+)\)/, 1]
end

#index_name(error_message) ⇒ Object



7
8
9
# File 'lib/database_validations/validations/adapters/postgresql_adapter.rb', line 7

def index_name(error_message)
  error_message[/unique constraint "([^"]+)"/, 1]
end

#unique_error_columns(error_message) ⇒ Object



11
12
13
# File 'lib/database_validations/validations/adapters/postgresql_adapter.rb', line 11

def unique_error_columns(error_message)
  find_index_by_name(index_name(error_message)).columns
end