Class: MyTags::TagList
- Inherits:
-
Object
- Object
- MyTags::TagList
- Includes:
- Enumerable
- Defined in:
- lib/my_tags/tag_list.rb
Class Method Summary collapse
Instance Method Summary collapse
- #+(array) ⇒ Object
- #-(array) ⇒ Object
- #<<(name) ⇒ Object
- #clear ⇒ Object
- #delete(name) ⇒ Object
- #each(&block) ⇒ Object
-
#initialize(taggable) ⇒ TagList
constructor
A new instance of TagList.
- #to_a ⇒ Object
Constructor Details
#initialize(taggable) ⇒ TagList
Returns a new instance of TagList.
5 6 7 |
# File 'lib/my_tags/tag_list.rb', line 5 def initialize(taggable) @taggable = taggable end |
Class Method Details
.new_with_names(taggable, names) ⇒ Object
32 33 34 35 36 37 |
# File 'lib/my_tags/tag_list.rb', line 32 def self.new_with_names(taggable, names) tag_names = new(taggable) tag_names.clear names.each { |name| tag_names << name } tag_names end |
Instance Method Details
#+(array) ⇒ Object
22 23 24 25 |
# File 'lib/my_tags/tag_list.rb', line 22 def +(array) array.each { |name| self.<< name } self end |
#-(array) ⇒ Object
27 28 29 30 |
# File 'lib/my_tags/tag_list.rb', line 27 def -(array) array.each { |name| self.delete name } self end |
#<<(name) ⇒ Object
13 14 15 16 |
# File 'lib/my_tags/tag_list.rb', line 13 def <<(name) tag = MyTags::Tag.where(:name => name).first_or_create taggable. << tag end |
#clear ⇒ Object
39 40 41 |
# File 'lib/my_tags/tag_list.rb', line 39 def clear taggable..clear end |
#delete(name) ⇒ Object
18 19 20 |
# File 'lib/my_tags/tag_list.rb', line 18 def delete(name) taggable..delete MyTags::Tag.where(:name => name).first end |
#each(&block) ⇒ Object
43 44 45 |
# File 'lib/my_tags/tag_list.rb', line 43 def each(&block) to_a.each &block end |
#to_a ⇒ Object
9 10 11 |
# File 'lib/my_tags/tag_list.rb', line 9 def to_a taggable..collect &:name end |