class MarkMapper::Plugins::Associations::OneAssociation
Public Instance Methods
autosave?()
click to toggle source
# File lib/mark_mapper/plugins/associations/one_association.rb, line 42 def autosave? options.fetch(:autosave, embeddable?) end
embeddable?()
click to toggle source
# File lib/mark_mapper/plugins/associations/one_association.rb, line 6 def embeddable? klass.embeddable? end
proxy_class()
click to toggle source
# File lib/mark_mapper/plugins/associations/one_association.rb, line 10 def proxy_class @proxy_class ||= if klass.embeddable? polymorphic? ? OneEmbeddedPolymorphicProxy : OneEmbeddedProxy elsif as? OneAsProxy else OneProxy end end
setup(model)
click to toggle source
Calls superclass method
# File lib/mark_mapper/plugins/associations/one_association.rb, line 21 def setup(model) super association = self options = self.options model.before_destroy do if !association.embeddable? proxy = self.get_proxy(association) unless proxy.nil? case options[:dependent] when :destroy then proxy.destroy when :delete then proxy.delete else proxy.nullify end end end end end