Class: Tag

Inherits:
ActiveRecord::Base
  • Object
show all
Defined in:
app/models/tag.rb

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.find_or_create_all_with_like_by_name(*list) ⇒ Object



27
28
29
30
31
32
33
34
35
36
37
# File 'app/models/tag.rb', line 27

def self.find_or_create_all_with_like_by_name(*list)
  list = [list].flatten
 
  return [] if list.empty?
 
  existing_tags = Tag.named_any(list).all
  new_tag_names = list.reject { |name| existing_tags.any? { |tag| tag.name.downcase == name.downcase } }
  created_tags  = new_tag_names.map { |name| Tag.create(:name => name) }
 
  existing_tags + created_tags
end

.find_or_create_with_like_by_name(name) ⇒ Object

CLASS METHODS:



23
24
25
# File 'app/models/tag.rb', line 23

def self.find_or_create_with_like_by_name(name)
  named_like(name).first || create(:name => name)
end

Instance Method Details

#==(object) ⇒ Object

INSTANCE METHODS:



41
42
43
# File 'app/models/tag.rb', line 41

def ==(object)
  super || (object.is_a?(Tag) && name == object.name)
end

#countObject



49
50
51
# File 'app/models/tag.rb', line 49

def count
  read_attribute(:count).to_i
end

#to_sObject



45
46
47
# File 'app/models/tag.rb', line 45

def to_s
  name
end