Module: HasMachineTags::TagConsole
- Defined in:
- lib/has_machine_tags/tag_console.rb
Overview
Provides named_scopes and class methods to the Tag model, useful in machine tag analysis from the console. To use:
class Tag
include HasMachineTags::TagConsole
end
Defined Under Namespace
Modules: ClassMethods
Class Method Summary collapse
-
.included(base) ⇒ Object
:nodoc:.
Class Method Details
.included(base) ⇒ Object
:nodoc:
8 9 10 11 12 13 14 15 16 17 18 19 |
# File 'lib/has_machine_tags/tag_console.rb', line 8 def self.included(base) #:nodoc: scope = ActiveRecord::VERSION::STRING >= '3.0' ? 'scope' : 'named_scope' base.class_eval %[ self.#{scope} :namespace_counts, :select=>'*, namespace as counter, count(namespace) as count', :group=>"namespace HAVING count(namespace)>=1" self.#{scope} :predicate_counts, :select=>'*, predicate as counter, count(predicate) as count', :group=>"predicate HAVING count(predicate)>=1" self.#{scope} :value_counts, :select=>'*, value as counter, count(value) as count', :group=>"value HAVING count(value)>=1" self.#{scope} :distinct_namespaces, :select=>"distinct namespace" self.#{scope} :distinct_predicates, :select=>"distinct predicate" self.#{scope} :distinct_values, :select=>"distinct value" ] base.extend ClassMethods end |