Module: ScopedTags::ActiveRecordAdditions::ClassMethods

Defined in:
lib/scoped_tags/active_record_additions.rb

Instance Method Summary collapse

Instance Method Details

#find_tagged_with(tag_names, context, options = {}) ⇒ Object



38
39
40
41
42
43
44
45
46
# File 'lib/scoped_tags/active_record_additions.rb', line 38

def find_tagged_with(tag_names, context, options = {})
  tag_names = tag_names.is_a?(Array) ? tag_names : tag_names.split(TagListCollection.delimiter)
  tag_names = tag_names.collect(&:strip).reject(&:blank?)

  required_options = { :include => [:taggings, :base_tags],
                       :conditions => ['tags.name IN (?) AND tags.context = ?', tag_names, context] }

  self.all(options.merge(required_options))
end