module ActiveGraph::Node::Dependent::AssociationMethods
Public Instance Methods
add_destroy_callbacks(model)
click to toggle source
# File lib/active_graph/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/active_graph/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/active_graph/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/active_graph/node/dependent/association_methods.rb 30 def dependent_delete_orphans_callback(object) 31 unique_query = object.as(:self).unique_nodes(self, :self, :n, :other_rel) 32 unique_query.query.optional_match('(n)-[r]-()').delete(:n, :r).exec if unique_query 33 end
dependent_destroy_callback(object)
click to toggle source
# File lib/active_graph/node/dependent/association_methods.rb 35 def dependent_destroy_callback(object) 36 unique_query = object.association_query_proxy(name) 37 unique_query.each_for_destruction(object, &:destroy) if unique_query 38 end
dependent_destroy_orphans_callback(object)
click to toggle source
# File lib/active_graph/node/dependent/association_methods.rb 40 def dependent_destroy_orphans_callback(object) 41 unique_query = object.as(:self).unique_nodes(self, :self, :n, :other_rel) 42 unique_query.each_for_destruction(object, &:destroy) if unique_query 43 end
valid_dependent_value?(value)
click to toggle source
# File lib/active_graph/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