Module: ActiveRecord::Acts::Keywordable::SingletonMethods
- Defined in:
- lib/acts_as_keywordable.rb
Instance Method Summary collapse
Instance Method Details
permalink #find_tagged_with(list) ⇒ Object
[View source]
29 30 31 32 33 34 35 36 37 38 |
# File 'lib/acts_as_keywordable.rb', line 29 def find_tagged_with(list) sql_str = %Q( SELECT #{table_name}.* FROM #{table_name}, keywords, keywordings WHERE #{table_name}.#{primary_key} = taggings.keywordable_id AND keywordings.keywordable_type = ? AND keywordings.keyword_id = keywords.id AND keywords.name IN (?) ) find_by_sql([sql_str, [:keywordable_type], list]) end |
permalink #tags_count(options) ⇒ Object
[View source]
40 41 42 43 44 45 46 47 48 49 |
# File 'lib/acts_as_keywordable.rb', line 40 def () sql = "SELECT keywords.id AS id, keywords.name AS name, COUNT(*) AS count FROM keywords, keywordings, #{table_name} " sql << "WHERE keywordings.keywordable_id = #{table_name}.#{primary_key} AND keywordings.keyword_id = keywords.id " sql << "AND #{sanitize_sql([:conditions])} " if [:conditions] sql << "GROUP BY keywords.name " sql << "HAVING count #{[:count]} " if [:count] sql << "ORDER BY #{[:order]} " if [:order] sql << "LIMIT #{[:limit]} " if [:limit] find_by_sql(sql) end |