Module: TagsHelper

Defined in:
lib/generators/supertag/templates/views/tags_helper.rb

Constant Summary collapse

REGEXS =
[[Supertag::Usertag::USERTAG_REGEX, :usertag_path], 
[Supertag::Hashtag::HASHTAG_REGEX, :hashtag_path], 
[Supertag::Moneytag::MONEYTAG_REGEX, :moneytag_path]]

Instance Method Summary collapse

Instance Method Details

#linkify_tags(taggable_content) ⇒ Object



6
7
8
9
10
11
12
13
14
# File 'lib/generators/supertag/templates/views/tags_helper.rb', line 6

def linkify_tags(taggable_content)
  text = taggable_content.to_s

  REGEXS.each do |regex, path|
    text = text.gsub(regex) {link_to($&, send(path, $2), class: 'tag')}
  end     

  text.html_safe
end

#render_hashtaggable(hashtaggable) ⇒ Object



16
17
18
19
20
21
# File 'lib/generators/supertag/templates/views/tags_helper.rb', line 16

def render_hashtaggable(hashtaggable)
  klass        = hashtaggable.class.to_s.underscore
  view_dirname = klass.pluralize
  partial      = klass
  render "#{view_dirname}/#{partial}", {klass.to_sym => hashtaggable}
end

#render_moneytaggable(moneytaggable) ⇒ Object



30
31
32
33
34
35
# File 'lib/generators/supertag/templates/views/tags_helper.rb', line 30

def render_moneytaggable(moneytaggable)
  klass        = moneytaggable.class.to_s.underscore
  view_dirname = klass.pluralize
  partial      = klass
  render "#{view_dirname}/#{partial}", {klass.to_sym => moneytaggable}
end

#render_usertaggable(usertaggable) ⇒ Object



23
24
25
26
27
28
# File 'lib/generators/supertag/templates/views/tags_helper.rb', line 23

def render_usertaggable(usertaggable)
  klass        = usertaggable.class.to_s.underscore
  view_dirname = klass.pluralize
  partial      = klass
  render "#{view_dirname}/#{partial}", {klass.to_sym => usertaggable}
end