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)


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

def acts_like_sourceable?
  true
end

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



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

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

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



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

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

#unsourceObject



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

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