Module: Tagged::Base
- Defined in:
- lib/tagged.rb
Class Method Summary collapse
Instance Method Summary collapse
- #_tag_list ⇒ Object
- #delimiter ⇒ Object
- #tag(list) ⇒ Object
- #tag_list ⇒ Object
- #tag_list=(list) ⇒ Object
- #untag(items) ⇒ Object
Class Method Details
.included(model) ⇒ Object
15 16 17 18 19 20 21 22 23 24 25 |
# File 'lib/tagged.rb', line 15 def self.included(model) model.class_eval do def self.delimiter @@delimiter ||= ',' end def self.delimiter=(value) @@delimiter = value end end end |
Instance Method Details
#_tag_list ⇒ Object
47 48 49 |
# File 'lib/tagged.rb', line 47 def _tag_list @tag_list ||= Tagged::TagList.new([], delimiter) end |
#delimiter ⇒ Object
27 28 29 |
# File 'lib/tagged.rb', line 27 def delimiter self.class.delimiter end |
#tag(list) ⇒ Object
39 40 41 |
# File 'lib/tagged.rb', line 39 def tag(list) list.split(delimiter).map {|tag| self._tag_list << tag.strip } end |
#tag_list ⇒ Object
31 32 33 |
# File 'lib/tagged.rb', line 31 def tag_list self._tag_list end |
#tag_list=(list) ⇒ Object
35 36 37 |
# File 'lib/tagged.rb', line 35 def tag_list=(list) self._tag_list = Tagged::TagList.new(list.split(delimiter).map(&:strip)) end |
#untag(items) ⇒ Object
43 44 45 |
# File 'lib/tagged.rb', line 43 def untag(items) items.split(delimiter).map{|tag| self._tag_list.delete(tag.strip)} end |