one way to avoid autosave
This commit is contained in:
parent
64ea41cbcd
commit
260f9ae4ef
@ -16,7 +16,7 @@ module Locomotive
|
||||
before_validation :get_wildcards_from_parent
|
||||
before_validation :add_slug_to_wildcards
|
||||
before_save :build_fullpath
|
||||
before_save :set_children_autosave
|
||||
# before_save :set_children_autosave
|
||||
# before_rearrange :foo #propagate_fullpath_changes
|
||||
# after_save :propagate_fullpath_changes
|
||||
|
||||
@ -62,10 +62,10 @@ module Locomotive
|
||||
|
||||
protected
|
||||
|
||||
def set_children_autosave
|
||||
@autosave_for_children = !must_propagate_fullpath_changes?
|
||||
true
|
||||
end
|
||||
# def set_children_autosave
|
||||
# @autosave_for_children = !must_propagate_fullpath_changes?
|
||||
# true
|
||||
# end
|
||||
|
||||
def get_wildcards_from_parent
|
||||
return true if self.parent.nil?
|
||||
@ -81,6 +81,7 @@ module Locomotive
|
||||
end
|
||||
|
||||
def add_slug_to_wildcards
|
||||
puts "[add_slug_to_wildcards] #{self.slug} / #{self.wildcard?}"
|
||||
(self.wildcards ||= []) << self.slug if self.wildcard?
|
||||
end
|
||||
|
||||
|
@ -74,9 +74,9 @@ module Locomotive
|
||||
|
||||
end
|
||||
|
||||
def autosave_for_children?
|
||||
@autosave_for_children != false
|
||||
end
|
||||
# def autosave_for_children?
|
||||
# @autosave_for_children != false
|
||||
# end
|
||||
|
||||
# Returns the children of this node but with the minimal set of required attributes
|
||||
#
|
||||
|
@ -12,27 +12,27 @@ module Mongoid#:nodoc:
|
||||
end
|
||||
end
|
||||
|
||||
module Relations #:nodoc:
|
||||
module AutoSave
|
||||
module ClassMethods #:nodoc:
|
||||
def autosave(metadata)
|
||||
if metadata.autosave?
|
||||
set_callback :save, :after do |document|
|
||||
relation = document.send(metadata.name)
|
||||
|
||||
return true if document.try(:"autosave_for_#{metadata.name}?") == false # FIXME (Didier L.) add more control on the document side
|
||||
|
||||
if relation
|
||||
(relation.do_or_do_not(:in_memory) || Array.wrap(relation)).each do |doc|
|
||||
doc.save
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
# module Relations #:nodoc:
|
||||
# module AutoSave
|
||||
# module ClassMethods #:nodoc:
|
||||
# def autosave(metadata)
|
||||
# if metadata.autosave?
|
||||
# set_callback :save, :after do |document|
|
||||
# relation = document.send(metadata.name)
|
||||
#
|
||||
# return true if document.try(:"autosave_for_#{metadata.name}?") == false # FIXME (Didier L.) add more control on the document side
|
||||
#
|
||||
# if relation
|
||||
# (relation.do_or_do_not(:in_memory) || Array.wrap(relation)).each do |doc|
|
||||
# doc.save
|
||||
# end
|
||||
# end
|
||||
# end
|
||||
# end
|
||||
# end
|
||||
# end
|
||||
# end
|
||||
# end
|
||||
|
||||
module Fields #:nodoc:
|
||||
module Internal #:nodoc:
|
||||
|
Loading…
Reference in New Issue
Block a user