Module: RailsPulse::Taggable

Extended by:
ActiveSupport::Concern
Included in:
Query, Request, Route
Defined in:
app/models/concerns/rails_pulse/taggable.rb

Instance Method Summary collapse

Instance Method Details

#add_tag(tag) ⇒ Object



28
29
30
31
32
33
34
35
# File 'app/models/concerns/rails_pulse/taggable.rb', line 28

def add_tag(tag)
  current_tags = tag_list
  unless current_tags.include?(tag.to_s)
    current_tags << tag.to_s
    self.tag_list = current_tags
    save
  end
end

#has_tag?(tag) ⇒ Boolean

Returns:

  • (Boolean)


24
25
26
# File 'app/models/concerns/rails_pulse/taggable.rb', line 24

def has_tag?(tag)
  tag_list.include?(tag.to_s)
end

#remove_tag(tag) ⇒ Object



37
38
39
40
41
42
43
44
# File 'app/models/concerns/rails_pulse/taggable.rb', line 37

def remove_tag(tag)
  current_tags = tag_list
  if current_tags.include?(tag.to_s)
    current_tags.delete(tag.to_s)
    self.tag_list = current_tags
    save
  end
end

#tag_listObject

Tag management methods



16
17
18
# File 'app/models/concerns/rails_pulse/taggable.rb', line 16

def tag_list
  parsed_tags || []
end

#tag_list=(value) ⇒ Object



20
21
22
# File 'app/models/concerns/rails_pulse/taggable.rb', line 20

def tag_list=(value)
  self.tags = value.to_json
end