lib/faml/attribute_optimizer.rb in faml-0.6.2 vs lib/faml/attribute_optimizer.rb in faml-0.6.3

- old
+ new

@@ -1,6 +1,7 @@ # frozen-string-literal: true +require 'faml/attribute_builder' require_relative 'error' require_relative 'ruby_syntax_checker' require_relative 'static_hash_parser' module Faml @@ -42,41 +43,16 @@ [nil, nil] end end def build_optimized_static_attributes(parser, static_id, static_class) - static_attributes = {} - class_list = [] - id_list = [] - parser.static_attributes.each do |k, v| - k = k.to_s - case k - when 'id' - id_list.concat(Array(v)) - when 'class' - class_list.concat(Array(v)) - else - static_attributes[k] = v - end + if static_id.empty? + static_id = nil end - - class_list = class_list.select { |v| v }.flat_map { |c| c.to_s.split(/ +/) } - unless static_class.empty? - class_list.concat(static_class.split(/ +/)) + if static_class.empty? + static_class = nil end - unless class_list.empty? - static_attributes['class'] = class_list.uniq.sort.join(' ') - end - - id_list = id_list.select { |v| v } - unless static_id.empty? - id_list = [static_id].concat(id_list) - end - unless id_list.empty? - static_attributes['id'] = id_list.join('_') - end - - static_attributes + AttributeBuilder.merge(parser.static_attributes, id: static_id, class: static_class) end def build_optimized_dynamic_attributes(parser, static_attributes) dynamic_attributes = {} parser.dynamic_attributes.each do |k, v|