Module: ActsAsTaggableOnPadrino::Taggable::Related::ClassMethods

Defined in:
lib/acts_as_taggable_on_padrino/taggable/related.rb

Instance Method Summary collapse

Instance Method Details

#acts_as_taggable_on(*args) ⇒ Object



33
34
35
36
# File 'lib/acts_as_taggable_on_padrino/taggable/related.rb', line 33

def acts_as_taggable_on(*args)
  super
  initialize_acts_as_taggable_on_related
end


10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
# File 'lib/acts_as_taggable_on_padrino/taggable/related.rb', line 10

def initialize_acts_as_taggable_on_related
  tag_types.each do |tag_type|
    class_eval %(
      def find_related_#{tag_type}
        related_tags_for('#{tag_type}', self.class)
      end
      alias_method :find_related_on_#{tag_type}, :find_related_#{tag_type}

      def find_related_#{tag_type}_for(klass)
        related_tags_for('#{tag_type}', klass)
      end

      def find_matching_contexts(search_context, result_context)
        matching_contexts_for(search_context.to_s, result_context.to_s, self.class)
      end

      def find_matching_contexts_for(klass, search_context, result_context)
        matching_contexts_for(search_context.to_s, result_context.to_s, klass)
      end
    )
  end
end