Class: DatabaseValidations::Adapters::SqliteAdapter
- Inherits:
-
BaseAdapter
- Object
- BaseAdapter
- DatabaseValidations::Adapters::SqliteAdapter
- Defined in:
- lib/database_validations/lib/adapters/sqlite_adapter.rb
Constant Summary collapse
- ADAPTER =
:sqlite3
Constants inherited from BaseAdapter
BaseAdapter::SUPPORTED_OPTIONS
Class Method Summary collapse
- .foreign_key_error_column(error) ⇒ Object
- .unique_error_columns(error) ⇒ Object
- .unique_index_name(error) ⇒ Object
Methods inherited from BaseAdapter
#find_foreign_key_by_column, #find_unique_index, #find_unique_index_by_name, #foreign_keys, #initialize, #table_name, #unique_indexes
Constructor Details
This class inherits a constructor from DatabaseValidations::Adapters::BaseAdapter
Class Method Details
.foreign_key_error_column(error) ⇒ Object
15 16 17 18 19 20 21 22 |
# File 'lib/database_validations/lib/adapters/sqlite_adapter.rb', line 15 def foreign_key_error_column(error) return [] unless error.respond_to?(:sql) && error.sql columns_clause = error.sql[/\(([^)]+)\)\s*VALUES/i, 1] return [] unless columns_clause columns_clause.scan(/"([^"]+)"/).flatten end |
.unique_error_columns(error) ⇒ Object
11 12 13 |
# File 'lib/database_validations/lib/adapters/sqlite_adapter.rb', line 11 def unique_error_columns(error) error..scan(/\w+\.([^,:]+)/).flatten end |
.unique_index_name(error) ⇒ Object
7 8 9 |
# File 'lib/database_validations/lib/adapters/sqlite_adapter.rb', line 7 def unique_index_name(error) error.[/UNIQUE constraint failed: index '([^']+)'/, 1] end |