module Neo4j::ActiveNode::Dependent::AssociationMethods
Public Instance Methods
add_destroy_callbacks(model)
click to toggle source
# File lib/neo4j/active_node/dependent/association_methods.rb 9 def add_destroy_callbacks(model) 10 return if dependent.nil? 11 12 model.before_destroy(&method("dependent_#{dependent}_callback")) 13 rescue NameError 14 raise "Unknown dependent option #{dependent}" 15 end
validate_dependent(value)
click to toggle source
# File lib/neo4j/active_node/dependent/association_methods.rb 5 def validate_dependent(value) 6 fail ArgumentError, "Invalid dependent value: #{value.inspect}" if not valid_dependent_value?(value) 7 end
Private Instance Methods
dependent_delete_callback(object)
click to toggle source
Callback methods
# File lib/neo4j/active_node/dependent/association_methods.rb 26 def dependent_delete_callback(object) 27 object.association_query_proxy(name).delete_all 28 end
dependent_delete_orphans_callback(object)
click to toggle source
# File lib/neo4j/active_node/dependent/association_methods.rb 30 def dependent_delete_orphans_callback(object) 31 object.as(:self).unique_nodes(self, :self, :n, :other_rel).query.delete(:n, :other_rel).exec 32 end
dependent_destroy_callback(object)
click to toggle source
# File lib/neo4j/active_node/dependent/association_methods.rb 34 def dependent_destroy_callback(object) 35 unique_query = object.association_query_proxy(name) 36 unique_query.each_for_destruction(object, &:destroy) if unique_query 37 end
dependent_destroy_orphans_callback(object)
click to toggle source
# File lib/neo4j/active_node/dependent/association_methods.rb 39 def dependent_destroy_orphans_callback(object) 40 unique_query = object.as(:self).unique_nodes(self, :self, :n, :other_rel) 41 unique_query.each_for_destruction(object, &:destroy) if unique_query 42 end
valid_dependent_value?(value)
click to toggle source
# File lib/neo4j/active_node/dependent/association_methods.rb 19 def valid_dependent_value?(value) 20 return true if value.nil? 21 22 self.respond_to?("dependent_#{value}_callback", true) 23 end