Sha256: 14e0acadde6ceb769aff66c2568fe393f3145a2d308ac5d0fb492f24b227a372

Contents?: true

Size: 1.03 KB

Versions: 75

Compression:

Stored size: 1.03 KB

Contents

# frozen_string_literal: true

module Decidim
  module Components
    # This class automatically names components for the given organization.
    # In order to do so, it uses the i18n keys of the component, fallback to English,
    # searching for the key `"decidim.components.<component name>.name"`
    #
    # This is intended to be used from the component seeds section.
    #
    # Examples:
    #
    #   Decidim::Component.create!(
    #     participatory_space: process,
    #     name: Decidim::Component::Namer.new(organization.available_locales, :my_component_name).i18n_name
    #     manifest_name: :my_component_name
    #   )
    class Namer
      def initialize(locales, component_name)
        @locales = locales
        @component_name = component_name
      end

      def i18n_name
        locales.inject({}) do |names, locale|
          names.update(locale => I18n.t("decidim.components.#{component_name}.name", locale: locale))
        end
      end

      private

      attr_reader :locales, :component_name
    end
  end
end

Version data entries

75 entries across 75 versions & 1 rubygems

Version Path
decidim-core-0.27.9 lib/decidim/components/namer.rb
decidim-core-0.27.8 lib/decidim/components/namer.rb
decidim-core-0.27.7 lib/decidim/components/namer.rb
decidim-core-0.27.6 lib/decidim/components/namer.rb
decidim-core-0.26.10 lib/decidim/components/namer.rb
decidim-core-0.26.9 lib/decidim/components/namer.rb
decidim-core-0.27.5 lib/decidim/components/namer.rb
decidim-core-0.26.8 lib/decidim/components/namer.rb
decidim-core-0.27.4 lib/decidim/components/namer.rb
decidim-core-0.27.3 lib/decidim/components/namer.rb
decidim-core-0.26.7 lib/decidim/components/namer.rb
decidim-core-0.26.5 lib/decidim/components/namer.rb
decidim-core-0.27.2 lib/decidim/components/namer.rb
decidim-core-0.27.1 lib/decidim/components/namer.rb
decidim-core-0.26.4 lib/decidim/components/namer.rb
decidim-core-0.27.0 lib/decidim/components/namer.rb
decidim-core-0.26.3 lib/decidim/components/namer.rb
decidim-core-0.27.0.rc2 lib/decidim/components/namer.rb
decidim-core-0.27.0.rc1 lib/decidim/components/namer.rb
decidim-core-0.26.2 lib/decidim/components/namer.rb