Module: BiovisionPostsHelper

Defined in:
app/helpers/biovision_posts_helper.rb

Overview

Helper methods for Posts component

Instance Method Summary collapse

Instance Method Details

Parameters:



51
52
53
# File 'app/helpers/biovision_posts_helper.rb', line 51

def admin_editorial_member_link(entity, text = entity.name)
  link_to(text, admin_editorial_member_path(id: entity.id))
end

#admin_post_category_link(entity, text = entity.name) ⇒ Object

Parameters:

  • entity (PostCategory)
  • text (String) (defaults to: entity.name)


13
14
15
# File 'app/helpers/biovision_posts_helper.rb', line 13

def (entity, text = entity.name)
  link_to(text, (id: entity.id))
end

#admin_post_group_link(entity, text = entity.name, options = {}) ⇒ Object

Parameters:

  • entity (PostGroup)
  • text (String) (defaults to: entity.name)
  • options (Hash) (defaults to: {})


32
33
34
# File 'app/helpers/biovision_posts_helper.rb', line 32

def admin_post_group_link(entity, text = entity.name, options = {})
  link_to(text, admin_post_group_path(id: entity.id), options)
end

#admin_post_illustration_link(entity, text = entity.name, options = {}) ⇒ Object

Parameters:

  • entity (PostIllustration)
  • text (String) (defaults to: entity.name)
  • options (Hash) (defaults to: {})


39
40
41
# File 'app/helpers/biovision_posts_helper.rb', line 39

def admin_post_illustration_link(entity, text = entity.name, options = {})
  link_to(text, admin_post_illustration_path(id: entity.id), options)
end

#admin_post_image_link(entity, text = entity.name) ⇒ Object

Parameters:

  • entity (PostImage)
  • text (String) (defaults to: entity.name)


45
46
47
# File 'app/helpers/biovision_posts_helper.rb', line 45

def admin_post_image_link(entity, text = entity.name)
  link_to(text, admin_post_image_path(id: entity.id))
end

#admin_post_link(entity, text = entity.title) ⇒ Object

Parameters:

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


19
20
21
# File 'app/helpers/biovision_posts_helper.rb', line 19

def admin_post_link(entity, text = entity.title)
  link_to(text, admin_post_path(id: entity.id))
end

#admin_post_tag_link(entity, text = entity.name) ⇒ Object

Parameters:

  • entity (PostTag)
  • text (String) (defaults to: entity.name)


25
26
27
# File 'app/helpers/biovision_posts_helper.rb', line 25

def (entity, text = entity.name)
  link_to(text, (id: entity.id))
end

#admin_post_type_link(entity, text = entity.name) ⇒ Object

Parameters:

  • entity (PostType)
  • text (String) (defaults to: entity.name)


7
8
9
# File 'app/helpers/biovision_posts_helper.rb', line 7

def admin_post_type_link(entity, text = entity.name)
  link_to(text, admin_post_type_path(id: entity.id))
end

Parameters:

  • entity (User)
  • text (String) (defaults to: entity&.profile_name)
  • options (Hash) (defaults to: {})


65
66
67
68
69
70
71
# File 'app/helpers/biovision_posts_helper.rb', line 65

def author_link(entity, text = entity&.profile_name, options = {})
  if EditorialMember.user?(entity)
    link_to(text, author_path(slug: entity.slug), options)
  elsif entity.is_a?(User)
    user_link(entity)
  end
end

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

Parameters:

  • entity (Post)
  • text (String) (defaults to: entity.title)
  • options (Hash) (defaults to: {})


58
59
60
# File 'app/helpers/biovision_posts_helper.rb', line 58

def my_post_link(entity, text = entity.title, options = {})
  link_to(text, my_post_path(id: entity.id), options)
end

#post_attachment_link(entity, text = entity.name!, options = {}) ⇒ Object

Parameters:

  • entity (PostAttachment)
  • text (String) (defaults to: entity.name!)
  • options (Hash) (defaults to: {})


133
134
135
136
137
138
139
140
141
# File 'app/helpers/biovision_posts_helper.rb', line 133

def post_attachment_link(entity, text = entity.name!, options = {})
  return '' if entity.file.blank?

  default_options = {
    target: '_blank'
  }

  link_to(text, entity.file.url, default_options.merge(options))
end

#post_author_link(entity, options = {}) ⇒ Object

Parameters:

  • entity (Post)
  • options (Hash) (defaults to: {})


109
110
111
112
113
114
115
116
117
118
# File 'app/helpers/biovision_posts_helper.rb', line 109

def (entity, options = {})
  if entity.author_url.blank?
    raw("<span>#{entity.author_name}</span>")
  else
    link_options = {
      rel: 'external nofollow noopener noreferrer'
    }
    link_to(entity.author_name, entity.author_url, link_options.merge(options))
  end
end

#post_category_link(entity, text = nil, options = {}) ⇒ Object

Parameters:

  • entity (PostCategory)
  • text (String) (defaults to: nil)
  • options (Hash) (defaults to: {})


88
89
90
91
# File 'app/helpers/biovision_posts_helper.rb', line 88

def (entity, text = nil, options = {})
  text ||= entity.respond_to?(:name) ? entity.name : entity.title
  link_to(text, entity.url, options)
end

#post_group_link(entity, text = entity.nav_text, options = {}) ⇒ Object

Parameters:

  • entity (PostGroup)
  • text (String) (defaults to: entity.nav_text)
  • options (Hash) (defaults to: {})


103
104
105
# File 'app/helpers/biovision_posts_helper.rb', line 103

def post_group_link(entity, text = entity.nav_text, options = {})
  link_to(text, post_group_path(id: entity.slug), options)
end

#post_image_hd(entity, add_options = {}) ⇒ Object

Larger post image for displaying on post page

Parameters:

  • entity (Post)
  • add_options (Hash) (defaults to: {})


197
198
199
200
201
202
203
# File 'app/helpers/biovision_posts_helper.rb', line 197

def post_image_hd(entity, add_options = {})
  return '' if entity.image.blank?

  alt_text = entity.image_alt_text.to_s
  options  = { alt: alt_text }.merge(add_options)
  image_tag(entity.image.hd.url, options)
end

#post_image_large(entity, add_options = {}) ⇒ Object

Large post image for displaying on post page

Parameters:

  • entity (Post)
  • add_options (Hash) (defaults to: {})


184
185
186
187
188
189
190
191
# File 'app/helpers/biovision_posts_helper.rb', line 184

def post_image_large(entity, add_options = {})
  return '' if entity.image.blank?

  alt_text = entity.image_alt_text.to_s
  versions = "#{entity.image.hd.url} 2x"
  options  = { alt: alt_text, srcset: versions }.merge(add_options)
  image_tag(entity.image.big.url, options)
end

#post_image_medium(entity, add_options = {}) ⇒ Object

Medium post image for displaying on post page

Parameters:

  • entity (Post)
  • add_options (Hash) (defaults to: {})


171
172
173
174
175
176
177
178
# File 'app/helpers/biovision_posts_helper.rb', line 171

def post_image_medium(entity, add_options = {})
  return '' if entity.image.blank?

  alt_text = entity.image_alt_text.to_s
  versions = "#{entity.image.big.url} 2x"
  options  = { alt: alt_text, srcset: versions }.merge(add_options)
  image_tag(entity.image.medium.url, options)
end

#post_image_preview(entity) ⇒ Object

Post image preview for displaying in “administrative” lists

Parameters:



146
147
148
149
150
151
152
# File 'app/helpers/biovision_posts_helper.rb', line 146

def post_image_preview(entity)
  return '' if entity.image.blank?

  alt_text = entity.image_alt_text
  versions = "#{entity.image.preview_2x.url} 2x"
  image_tag(entity.image.preview.url, alt: alt_text, srcset: versions)
end

#post_image_small(entity, add_options = {}) ⇒ Object

Small post image for displaying in lists of posts and feeds

Parameters:

  • entity (Post)
  • add_options (Hash) (defaults to: {})


158
159
160
161
162
163
164
165
# File 'app/helpers/biovision_posts_helper.rb', line 158

def post_image_small(entity, add_options = {})
  return '' if entity.image.blank?

  alt_text = entity.image_alt_text.to_s
  versions = "#{entity.image.medium.url} 2x"
  options  = { alt: alt_text, srcset: versions }.merge(add_options)
  image_tag(entity.image.small.url, options)
end

#post_layouts_for_selectObject



73
74
75
76
# File 'app/helpers/biovision_posts_helper.rb', line 73

def post_layouts_for_select
  options = PostLayout.ordered_by_name.map { |i| [i.name, i.id] }
  options + [[t(:not_set), '']]
end

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

Parameters:

  • entity (Post)
  • text (String) (defaults to: entity.title)
  • options (Hash) (defaults to: {})


81
82
83
# File 'app/helpers/biovision_posts_helper.rb', line 81

def post_link(entity, text = entity.title, options = {})
  link_to(text, entity.url, options)
end

#post_type_link(entity, text = entity.category_name!, options = {}) ⇒ Object

Parameters:

  • entity (PostType)
  • text (String) (defaults to: entity.category_name!)
  • options (Hash) (defaults to: {})


96
97
98
# File 'app/helpers/biovision_posts_helper.rb', line 96

def post_type_link(entity, text = entity.category_name!, options = {})
  link_to(text, entity.url, options)
end

Parameters:

  • tag_name (String)
  • entity (Post) (defaults to: nil)


122
123
124
125
126
127
128
# File 'app/helpers/biovision_posts_helper.rb', line 122

def tagged_posts_link(tag_name, entity = nil)
  if entity.nil?
    link_to(tag_name, tagged_posts_path(tag_name: tag_name), rel: 'tag')
  else
    link_to(tag_name, entity.tagged_path(tag_name), rel: 'tag')
  end
end