class HS::Element

Attributes

children[R]
class_name[RW]
style[RW]

Public Class Methods

new(args = {}) click to toggle source
# File lib/hs/elements/element.rb, line 12
def initialize(args = {})
  args.each do |key, val|
    instance_variable_set("@#{key}", val)
  end

  @children ||= []
end

Public Instance Methods

params() click to toggle source
# File lib/hs/elements/element.rb, line 24
def params
  params = {}
  class_name = element_class_name
  params[:class] = class_name if class_name
  params[:style] = style if style

  params
end
preview() click to toggle source
# File lib/hs/elements/element.rb, line 33
def preview
  element_preview(tag_name, params, children)
end
preview_raw() click to toggle source
# File lib/hs/elements/element.rb, line 37
def preview_raw
  preview
end
tag_name() click to toggle source
# File lib/hs/elements/element.rb, line 20
def tag_name
  'div'
end

Private Instance Methods

element_class_name() click to toggle source
# File lib/hs/elements/element.rb, line 43
def element_class_name
  return class_name unless respond_to?(:default_class)

  class_names = [default_class, class_name].uniq.compact
  class_names.join(' ') unless class_names.empty?
end