Module: ActsAsTaggableOn::Tag::ClassMethods

Defined in:
lib/acts_as_taggable_on_padrino/tag.rb

Instance Method Summary collapse

Instance Method Details

#find_or_create_all_with_like_by_name(*list) ⇒ Object



34
35
36
37
38
39
40
41
42
43
44
45
46
# File 'lib/acts_as_taggable_on_padrino/tag.rb', line 34

def find_or_create_all_with_like_by_name(*list)
  list = list.flatten
  return [] if list.empty?

  existing_tags = named_any(list)
  new_tag_names = list.reject do |name|
                    name = comparable_name(name)
                    existing_tags.any? { |tag| comparable_name(tag.name) == name }
                  end
  created_tags  = new_tag_names.map { |name| create(:name => name) }

  existing_tags + created_tags
end

#find_or_create_with_like_by_name(name) ⇒ Object



30
31
32
# File 'lib/acts_as_taggable_on_padrino/tag.rb', line 30

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

#namesObject



48
49
50
# File 'lib/acts_as_taggable_on_padrino/tag.rb', line 48

def names
  all.map {|tag| tag.name }
end