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