Module: ActsAsSourceable::ClassMethods

Defined in:
lib/acts_as_sourceable/acts_as_sourceable.rb

Instance Method Summary collapse

Instance Method Details

#acts_like_sourceable?Boolean

Returns:

  • (Boolean)


59
60
61
# File 'lib/acts_as_sourceable/acts_as_sourceable.rb', line 59

def acts_like_sourceable?
  true
end

#add_sources(*sources) ⇒ Object Also known as: add_source



68
69
70
# File 'lib/acts_as_sourceable/acts_as_sourceable.rb', line 68

def add_sources(*sources)
  find_each{|record| record.add_sources(*sources) }
end

#remove_sources(*sources) ⇒ Object Also known as: remove_source



63
64
65
# File 'lib/acts_as_sourceable/acts_as_sourceable.rb', line 63

def remove_sources(*sources)
  find_each{|record| record.remove_sources(*sources) }
end

#unsourceObject



73
74
75
76
77
# File 'lib/acts_as_sourceable/acts_as_sourceable.rb', line 73

def unsource
  # OPTIMIZATION: it's faster to only set the cache column to false if it is true instead of setting all to false indiscriminately
  where(acts_as_sourceable_options[:cache_column] => true).update_all(acts_as_sourceable_options[:cache_column] => false) if acts_as_sourceable_options[:cache_column]
  ActsAsSourceable::RegistryEntry.where(:sourceable_type => self.name, :sourceable_id => self.all).delete_all
end