Sha256: 4bd94c5daf4872177a2f23fbc8e68cd5b8867a0dd70a49b6e533cd7a78cda532
Contents?: true
Size: 1.34 KB
Versions: 3
Compression:
Stored size: 1.34 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, &block) page = Page.where(unique_name: page_name).first if page && block_given? output = capture(page.localize(content_locale), &block) 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: locale) else page_path(locale, page) end end end end
Version data entries
3 entries across 3 versions & 1 rubygems