Module: Concerns::Taggable
- Extended by:
- ActiveSupport::Concern
- Defined in:
- app/models/concerns/taggable.rb
Instance Method Summary collapse
- #related(locale = I18n.locale) ⇒ Object
- #taggable? ⇒ Boolean
- #tags(locale = I18n.locale) ⇒ Object
- #tags_string(locale = I18n.locale) ⇒ Object
Instance Method Details
#related(locale = I18n.locale) ⇒ Object
9 10 11 12 13 14 15 |
# File 'app/models/concerns/taggable.rb', line 9 def (locale = I18n.locale) tagged_items = TaggedItem.where(tag_id: (locale).map(&:id), taggable_type: self.class.name) tagged_items.to_a.inject([]) do |memo,i| memo << self.class.find(i.taggable_id) unless i.taggable_id == id memo end.uniq end |
#taggable? ⇒ Boolean
25 26 27 |
# File 'app/models/concerns/taggable.rb', line 25 def taggable? true end |
#tags(locale = I18n.locale) ⇒ Object
17 18 19 |
# File 'app/models/concerns/taggable.rb', line 17 def (locale = I18n.locale) tagged_items.select { |i| i.tag.locale == locale.to_s }.map(&:tag) end |
#tags_string(locale = I18n.locale) ⇒ Object
21 22 23 |
# File 'app/models/concerns/taggable.rb', line 21 def (locale = I18n.locale) (locale).map(&:name).join(',') end |