Sha256: c2292ba7127efa629fb999f433493a7b7d5f8eb06745e4e28afec051b99ef7d6

Contents?: true

Size: 1.63 KB

Versions: 16

Compression:

Stored size: 1.63 KB

Contents

# frozen_string_literal: true

module Admin
  module PagesHelper
    include PagesCore::Admin::PageBlocksHelper

    def available_templates_for_select
      PagesCore::Templates.names.collect do |template|
        if template == "index"
          ["[Default]", "index"]
        else
          [template.humanize, template]
        end
      end
    end

    def file_embed_code(file)
      "[file:#{file.id}]"
    end

    def news_section_name(page, news_pages)
      if news_pages.select { |p| p.name == page.name }.length > 1
        page_name(page, include_parents: true)
      else
        page_name(page)
      end
    end

    def page_authors(page)
      ([page.author] + User.activated).uniq
    end

    def page_name(page, options = {})
      page_names = if options[:include_parents]
                     page.self_and_ancestors.reverse
                   else
                     [page]
                   end
      safe_join(
        page_names.map { |p| page_name_with_fallback(p) },
        raw(" » ")
      )
    end

    def publish_time(time)
      if time.year != Time.zone.now.year
        time.strftime("on %b %d %Y at %H:%M")
      elsif time.to_date != Time.zone.now.to_date
        time.strftime("on %b %d at %H:%M")
      else
        time.strftime("at %H:%M")
      end
    end

    private

    def nested_array?(array)
      array.present? && array.first.is_a?(Array)
    end

    def page_name_with_fallback(page)
      if page.name?
        page.name.to_s
      elsif page.localize(I18n.default_locale.to_s).name?
        "(#{page.localize(I18n.default_locale.to_s).name})"
      else
        "(Untitled)"
      end
    end
  end
end

Version data entries

16 entries across 16 versions & 1 rubygems

Version Path
pages_core-3.12.1 app/helpers/admin/pages_helper.rb
pages_core-3.12.0 app/helpers/admin/pages_helper.rb
pages_core-3.11.3 app/helpers/admin/pages_helper.rb
pages_core-3.11.2 app/helpers/admin/pages_helper.rb
pages_core-3.11.1 app/helpers/admin/pages_helper.rb
pages_core-3.11.0 app/helpers/admin/pages_helper.rb
pages_core-3.10.2 app/helpers/admin/pages_helper.rb
pages_core-3.10.1 app/helpers/admin/pages_helper.rb
pages_core-3.9.2 app/helpers/admin/pages_helper.rb
pages_core-3.9.1 app/helpers/admin/pages_helper.rb
pages_core-3.9.0 app/helpers/admin/pages_helper.rb
pages_core-3.8.3 app/helpers/admin/pages_helper.rb
pages_core-3.8.2 app/helpers/admin/pages_helper.rb
pages_core-3.8.1 app/helpers/admin/pages_helper.rb
pages_core-3.8.0 app/helpers/admin/pages_helper.rb
pages_core-3.7.0 app/helpers/admin/pages_helper.rb