Sha256: 298664a796201d899299dbabd88bdb0931fd1f49336cf8a681b2d476a2efffd8
Contents?: true
Size: 1.16 KB
Versions: 2
Compression:
Stored size: 1.16 KB
Contents
# Injects localization data into master data, so the page can be showed in the correct localization class Promethee::Data::MasterLocalized < Promethee::Data def initialize(master, localization = nil) @data = hashify master if localization @localization = Localization.new localization localize_component @data end end protected def localize_component(component) localize_component_attributes component localize_component_children component end def localize_component_attributes(component) return unless component.include? :attributes localized_component = find_localized_component component[:id] return unless localized_component return unless localized_component.include? :attributes component[:attributes].merge! localized_component[:attributes] end def localize_component_children(component) return unless component.include? :children component[:children].each { |child| localize_component child } end def find_localized_component(id) return if @localization.nil? return unless @localization.include? :components @localization[:components].find { |component| component[:id] == id } end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
promethee-1.7.1 | lib/promethee/data/master_localized.rb |
promethee-1.7.0 | lib/promethee/data/master_localized.rb |