Sha256: b238e1f3b4fd979a534344d2d8bdf92ab2248183645ff5c479712967eb2294ac
Contents?: true
Size: 1.33 KB
Versions: 6
Compression:
Stored size: 1.33 KB
Contents
# frozen_string_literal: true # Methods added to this helper will be available to all templates # in the application. module PagesCore module ApplicationHelper include PagesCore::AttachmentsHelper include PagesCore::HeadTagsHelper include PagesCore::ImagesHelper include PagesCore::MetaTagsHelper include PagesCore::OpenGraphTagsHelper include PagesCore::PagePathHelper def page_link(page, options = {}) link_locale = options[:locale] || locale page.localize(link_locale) do |p| title = options[:title] || p.name.to_s return title unless conditional_options?(options) link_to(title, page_link_path(link_locale, p), class: options[:class]) end end def unique_page(page_name, &) page = Page.where(unique_name: page_name).first if page && block_given? output = capture(page.localize(content_locale), &) concat(output) end page&.localize(content_locale) end private def conditional_options?(options = {}) if options.key?(:if) options[:if] elsif options.key?(:unless) !options[:unless] else true end end def page_link_path(locale, page) if page.redirects? page.redirect_path(locale:) else page_path(locale, page) end end end end
Version data entries
6 entries across 6 versions & 1 rubygems