Sha256: b894bcd4a3ec7ac191e4a02dfdb04a042b0310bb375cdcd624a4cc118eeb1daf

Contents?: true

Size: 1.28 KB

Versions: 48

Compression:

Stored size: 1.28 KB

Contents

# frozen_string_literal: true

module Alchemy
  module Hints
    # Returns a hint
    #
    # To add a hint to a ingredient pass +hint: true+ to the element definition in its element.yml
    #
    # Then the hint itself is placed in the locale yml files.
    #
    # Alternativly you can pass the hint itself to the hint key.
    #
    # == Locale Example:
    #
    #   # elements.yml
    #   - name: headline
    #     ingredients:
    #       - role: headline
    #         type: Text
    #         hint: true
    #
    #   # config/locales/de.yml
    #     de:
    #       ingredient_hints:
    #         headline: Lorem ipsum
    #
    # == Hint Key Example:
    #
    #   - name: headline
    #     ingredients:
    #       - role: headline
    #         type: Text
    #         hint: Lorem ipsum
    #
    # @return String
    #
    def hint
      hint = definition[:hint]
      if hint == true
        Alchemy.t(hint_translation_attribute, scope: hint_translation_scope)
      else
        hint
      end
    end

    # Returns true if the element has a hint defined
    def has_hint?
      !!definition[:hint]
    end

    private

    def hint_translation_attribute
      name
    end

    def hint_translation_scope
      "#{self.class.model_name.to_s.demodulize.downcase}_hints"
    end
  end
end

Version data entries

48 entries across 48 versions & 1 rubygems

Version Path
alchemy_cms-7.3.4 lib/alchemy/hints.rb
alchemy_cms-7.3.3 lib/alchemy/hints.rb
alchemy_cms-7.3.2 lib/alchemy/hints.rb
alchemy_cms-7.2.7 lib/alchemy/hints.rb
alchemy_cms-7.3.1 lib/alchemy/hints.rb
alchemy_cms-7.3.0 lib/alchemy/hints.rb
alchemy_cms-7.2.6 lib/alchemy/hints.rb
alchemy_cms-7.2.5 lib/alchemy/hints.rb
alchemy_cms-7.1.12 lib/alchemy/hints.rb
alchemy_cms-7.0.15 lib/alchemy/hints.rb
alchemy_cms-7.2.4 lib/alchemy/hints.rb
alchemy_cms-7.1.11 lib/alchemy/hints.rb
alchemy_cms-7.2.3 lib/alchemy/hints.rb
alchemy_cms-7.1.10 lib/alchemy/hints.rb
alchemy_cms-7.2.2 lib/alchemy/hints.rb
alchemy_cms-7.1.9 lib/alchemy/hints.rb
alchemy_cms-7.0.14 lib/alchemy/hints.rb
alchemy_cms-7.2.1 lib/alchemy/hints.rb
alchemy_cms-7.0.13 lib/alchemy/hints.rb
alchemy_cms-7.1.8 lib/alchemy/hints.rb