module HS::ElementLoader
Public Instance Methods
load_element(data)
click to toggle source
# File lib/hs/loaders/element_loader.rb, line 17 def load_element(data) name = data[:_name] element = initialize_element(name, data) children = load_elements(data[:_children]) children.each { |child| element.children << child } element end
load_elements(data)
click to toggle source
# File lib/hs/loaders/element_loader.rb, line 26 def load_elements(data) return [] unless data data.map { |child_data| load_element(child_data) } end
Private Instance Methods
get_params(data, names = %i[class_name style])
click to toggle source
# File lib/hs/loaders/element_loader.rb, line 33 def get_params(data, names = %i[class_name style]) names.map do |name| data[name] ? [name, data[name]] : nil end.compact.to_h end
initialize_element(name, data)
click to toggle source
# File lib/hs/loaders/element_loader.rb, line 39 def initialize_element(name, data) send("initialize_#{name}", data) end