Sha256: e8ce594ac69570dac8ae162ea2aecb7c1c3a7279c9f5d05d9fd902d00f14de42

Contents?: true

Size: 1.97 KB

Versions: 10

Compression:

Stored size: 1.97 KB

Contents

# frozen_string_literal: true

module Alchemy
  module BaseHelper
    # An alias for truncate.
    # Left here for downwards compatibilty.
    # @deprecated
    def shorten(text, length)
      text.truncate(length: length)
    end
    deprecate :shorten, deprecator: Alchemy::Deprecation

    # Logs a message in the Rails logger (warn level)
    # and optionally displays an error message to the user.
    def warning(message, text = nil)
      Logger.warn(message, caller(1..1))
      unless text.nil?
        render_message(:warning) do
          text.html_safe
        end
      end
    end

    # Render a Remix icon
    #
    # @param icon_name [String] icon name
    # @option options - style: fill [String] icon style. line or fill. Pass false for no style.
    # @option options - size: nil [String] icon size
    #
    # @return [String]
    def render_icon(icon_name, options = {})
      render Alchemy::Admin::Icon.new(icon_name, options)
    end

    # Returns a div with an icon and the passed content
    # The default message type is info, but you can also pass
    # other types like :warning or :error
    #
    # === Usage:
    #
    #   <%= render_message :warning do
    #     <p>Caution! This is a warning!</p>
    #   <% end %>
    #
    def render_message(type = :info, msg = nil, &)
      render Alchemy::Admin::Message.new(msg || capture(&), type: type)
    end

    # Checks if the given argument is a String or a Page object.
    # If a String is given, it tries to find the page via page_layout
    # Logs a warning if no page is given.
    # @deprecated
    def page_or_find(page)
      unless Current.language
        warning("No default language set up")
        return nil
      end

      if page.is_a?(String)
        page = Current.language.pages.find_by(page_layout: page)
      end
      if page.blank?
        warning("No Page found for #{page.inspect}")
        nil
      else
        page
      end
    end
    deprecate :page_or_find, deprecator: Alchemy::Deprecation
  end
end

Version data entries

10 entries across 10 versions & 1 rubygems

Version Path
alchemy_cms-7.4.2 app/helpers/alchemy/base_helper.rb
alchemy_cms-7.3.6 app/helpers/alchemy/base_helper.rb
alchemy_cms-7.4.1 app/helpers/alchemy/base_helper.rb
alchemy_cms-7.4.0 app/helpers/alchemy/base_helper.rb
alchemy_cms-7.3.5 app/helpers/alchemy/base_helper.rb
alchemy_cms-7.3.4 app/helpers/alchemy/base_helper.rb
alchemy_cms-7.3.3 app/helpers/alchemy/base_helper.rb
alchemy_cms-7.3.2 app/helpers/alchemy/base_helper.rb
alchemy_cms-7.3.1 app/helpers/alchemy/base_helper.rb
alchemy_cms-7.3.0 app/helpers/alchemy/base_helper.rb