Class: DatabaseValidations::Adapters::SqliteAdapter

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

Constant Summary collapse

SUPPORTED_OPTIONS =
%i[scope message if unless].freeze
ADAPTER =
:sqlite3

Instance Method Summary collapse

Methods inherited from BaseAdapter

#adapter_name, #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

#find_foreign_key_by_column(column) ⇒ Object



9
10
11
# File 'lib/database_validations/validations/adapters/sqlite_adapter.rb', line 9

def find_foreign_key_by_column(column)
  foreign_keys.find { |foreign_key| foreign_key.column.to_s == column.to_s }
end

#foreign_key_error_column(error_message) ⇒ Object



17
18
19
# File 'lib/database_validations/validations/adapters/sqlite_adapter.rb', line 17

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

#index_name(_error_message) ⇒ Object



7
# File 'lib/database_validations/validations/adapters/sqlite_adapter.rb', line 7

def index_name(_error_message); end

#unique_error_columns(error_message) ⇒ Object



13
14
15
# File 'lib/database_validations/validations/adapters/sqlite_adapter.rb', line 13

def unique_error_columns(error_message)
  error_message.scan(/#{model.table_name}\.([^,:]+)/).flatten
end