Module: ActsAsSourceable::ActiveRelationMethods
- Defined in:
- lib/acts_as_sourceable/acts_as_sourceable.rb
Instance Method Summary collapse
- #add_sources(*sources) ⇒ Object (also: #add_source)
- #remove_sources(*sources) ⇒ Object (also: #remove_source)
- #unsource ⇒ Object
Instance Method Details
#add_sources(*sources) ⇒ Object Also known as: add_source
71 72 73 |
# File 'lib/acts_as_sourceable/acts_as_sourceable.rb', line 71 def add_sources(*sources) scoping { @klass.find_each{|record| record.add_sources(*sources) } } end |
#remove_sources(*sources) ⇒ Object Also known as: remove_source
66 67 68 |
# File 'lib/acts_as_sourceable/acts_as_sourceable.rb', line 66 def remove_sources(*sources) scoping { @klass.find_each{|record| record.remove_sources(*sources) } } end |
#unsource ⇒ Object
76 77 78 79 80 |
# File 'lib/acts_as_sourceable/acts_as_sourceable.rb', line 76 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 scoping { @klass.where(@klass.[:cache_column] => true).update_all("#{acts_as_sourceable_options[:cache_column]} = false") } if @klass.[:cache_column] scoping { ActsAsSourceable::RegistryEntry.where("sourceable_type = ? AND sourceable_id IN (#{@klass.select("#{@klass.table_name}.id").to_sql})", @klass.name).delete_all } end |