Module: Tagged::Base

Defined in:
lib/tagged.rb

Class Method Summary collapse

Instance Method Summary collapse

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_listObject



47
48
49
# File 'lib/tagged.rb', line 47

def _tag_list
  @tag_list ||= Tagged::TagList.new([], delimiter)
end

#delimiterObject



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_listObject



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