Module: EntriesHelper

Defined in:
app/helpers/entries_helper.rb

Instance Method Summary collapse

Instance Method Details

#admin_entry_link(entry) ⇒ Object

Parameters:



91
92
93
# File 'app/helpers/entries_helper.rb', line 91

def admin_entry_link(entry)
  link_to (entry.title || t(:untitled)), admin_entry_path(id: entry.id)
end

Parameters:



15
16
17
# File 'app/helpers/entries_helper.rb', line 15

def admin_news_link(entity)
  link_to(entity.title, admin_news_path(id: entity.id))
end

#entry_link(entry, user, text = entry.title, options = {}) ⇒ Object

Parameters:

  • entry (Post)
  • user (User)
  • text (String) (defaults to: entry.title)
  • options (Hash) (defaults to: {})


82
83
84
85
86
87
88
# File 'app/helpers/entries_helper.rb', line 82

def entry_link(entry, user, text = entry.title, options = {})
  if entry.visible?
    link_to (text || t(:untitled)), entry_path({ id: entry.id }.merge(options))
  else
    raw "<span class=\"not-found\">[entry #{entry.id}]</span>"
  end
end

#glimpse(text, letters = 140) ⇒ Object

Parameters:

  • text (String)
  • letters (Integer) (defaults to: 140)


10
11
12
# File 'app/helpers/entries_helper.rb', line 10

def glimpse(text, letters = 140)
  strip_tags(text).gsub(/(\S{20})/, '\1 ').strip[0..letters] + ''
end


65
66
67
68
69
70
71
72
73
74
75
76
# File 'app/helpers/entries_helper.rb', line 65

def link_to_commentable(commentable, user)
  case commentable.class.to_s
    when Entry.to_s
      entry_link(commentable, user)
    when Post.to_s
      post_link(commentable)
    when News.to_s
      news_link(commentable)
    else
      commentable.class.to_s
  end
end

Parameters:

  • news (News)
  • text (String) (defaults to: news&.title)
  • options (Hash) (defaults to: {})


22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
# File 'app/helpers/entries_helper.rb', line 22

def news_link(news, text = news&.title, options = {})
  if news.class.to_s == News.to_s
    parameters = { category_slug: news.news_category&.slug, slug: news.slug }
    if news.news_category.nil?
      text
    else
      if news.regional?
        link_to text, news_in_category_regional_news_index_path(parameters), options
      else
        link_to text, news_in_category_news_index_path(parameters), options
      end
    end
  else
    ''
  end
end

#post_link(entity, text = entity&.title, options = {}) ⇒ Object

Parameters:

  • entity (Post)
  • text (String) (defaults to: entity&.title)


41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
# File 'app/helpers/entries_helper.rb', line 41

def post_link(entity, text = entity&.title, options = {})
  if entity.class.to_s == Post.to_s
    if entity..class.to_s == PostCategory.to_s
      parameters = { category_slug: entity..slug, slug: entity.slug }
      link_to text, post_in_category_posts_path(parameters)
    else
      text
    end
  elsif entity.class.to_s == News.to_s
    parameters = { category_slug: entity.news_category&.slug, slug: entity.slug }
    if entity.news_category.nil?
      text
    else
      if entity.regional?
        link_to text, news_in_category_regional_news_index_path(parameters), options
      else
        link_to text, news_in_category_news_index_path(parameters), options
      end
    end
  else
    ''
  end
end

#preview(text, passages = 2) ⇒ Object

Parameters:

  • text (String)
  • passages (Integer) (defaults to: 2)


4
5
6
# File 'app/helpers/entries_helper.rb', line 4

def preview(text, passages = 2)
  text.split("</p>\n<p>")[0...passages].join('</p><p>')
end

Parameters:

  • name (String)
  • url (String)


97
98
99
100
101
102
103
# File 'app/helpers/entries_helper.rb', line 97

def source_link(name, url)
  if url.blank?
    name
  else
    link_to(name.blank? ? URI.parse(url).host : name, url, rel: 'external')
  end
end