Class: Decidim::Components::Namer
- Inherits:
-
Object
- Object
- Decidim::Components::Namer
- Defined in:
- decidim-core/lib/decidim/components/namer.rb
Overview
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
)
Instance Method Summary collapse
- #i18n_name ⇒ Object
-
#initialize(locales, component_name) ⇒ Namer
constructor
A new instance of Namer.
Constructor Details
#initialize(locales, component_name) ⇒ Namer
Returns a new instance of Namer.
19 20 21 22 |
# File 'decidim-core/lib/decidim/components/namer.rb', line 19 def initialize(locales, component_name) @locales = locales @component_name = component_name end |
Instance Method Details
#i18n_name ⇒ Object
24 25 26 27 28 |
# File 'decidim-core/lib/decidim/components/namer.rb', line 24 def i18n_name locales.inject({}) do |names, locale| names.update(locale => I18n.t("decidim.components.#{component_name}.name", locale: locale)) end end |