Method: FatJam::ActsAsRevisable::Revision::ClassMethods#revision_cloned_associations

Defined in:
lib/acts_as_revisable/acts/revision.rb

#revision_cloned_associationsObject

Returns an array of the associations that should be cloned.



133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
# File 'lib/acts_as_revisable/acts/revision.rb', line 133

def revision_cloned_associations #:nodoc:
  clone_associations = self.revisable_options.clone_associations

  self.revisable_cloned_associations ||= if clone_associations.blank?
    []
  elsif clone_associations.eql? :all
    revisable_class.reflect_on_all_associations.map(&:name)
  elsif clone_associations.is_a? [].class
    clone_associations
  elsif clone_associations[:only]
    [clone_associations[:only]].flatten
  elsif clone_associations[:except]
    revisable_class.reflect_on_all_associations.map(&:name) - [clone_associations[:except]].flatten
  end        
end