class Spark::Component::TagAttr
Public Instance Methods
add(hash)
click to toggle source
Calls superclass method
Spark::Component::Attr#add
# File lib/spark/component/tag_attr.rb, line 9 def add(hash) return self if hash.nil? || hash.keys.empty? deep_compact!(hash) # Extract keys for special properties extracted = { aria: hash.delete(:aria), data: hash.delete(:data), classname: hash.delete(:class) } # If extracted values exist, add to tag extracted.each do |method, val| send(method).add(val) unless val.nil? || val.empty? end # Add html using recursion, this ensures that nested data, aria, or class # attributes are properly merged as the right data types add(hash.delete(:html)) super(hash) end
aria(*args)
click to toggle source
# File lib/spark/component/tag_attr.rb, line 33 def aria(*args) self[:aria] ||= Component::Attr.new(*args, prefix: :aria) end
classname(*args, base: nil)
click to toggle source
# File lib/spark/component/tag_attr.rb, line 41 def classname(*args, base: nil) self[:class] ||= Component::Classname.new(*args, base: base) end
data(*args)
click to toggle source
# File lib/spark/component/tag_attr.rb, line 37 def data(*args) self[:data] ||= Component::Attr.new(*args, prefix: :data) end