Module: PolymorphicConstraints::ConnectionAdapters::SQLite3Adapter
Instance Method Summary
collapse
#get_polymorphic_models
#strip_non_essential_spaces
Instance Method Details
#add_polymorphic_constraints(relation, associated_table, options = {}) ⇒ Object
Also known as:
update_polymorphic_constraints
15
16
17
18
19
20
21
22
23
24
25
26
27
|
# File 'lib/polymorphic_constraints/connection_adapters/sqlite3_adapter.rb', line 15
def add_polymorphic_constraints(relation, associated_table, options = {})
polymorphic_models = options.fetch(:polymorphic_models) { get_polymorphic_models(relation) }
statements = constraints_remove_statements(relation)
statements << generate_create_constraints(relation, associated_table, polymorphic_models)
statements << generate_update_constraints(relation, associated_table, polymorphic_models)
polymorphic_models.each do |polymorphic_model|
statements << generate_delete_constraints(relation, associated_table, polymorphic_model)
end
statements.each { |statement| execute statement }
end
|
#remove_polymorphic_constraints(relation) ⇒ Object
29
30
31
32
|
# File 'lib/polymorphic_constraints/connection_adapters/sqlite3_adapter.rb', line 29
def remove_polymorphic_constraints(relation)
statements = constraints_remove_statements(relation)
statements.each { |statement| execute statement }
end
|
#supports_polymorphic_constraints? ⇒ Boolean
11
12
13
|
# File 'lib/polymorphic_constraints/connection_adapters/sqlite3_adapter.rb', line 11
def supports_polymorphic_constraints?
true
end
|