module Undies::Element

Constants

ESCAPE_ATTRS
ESCAPE_ATTRS_PATTERN

Public Class Methods

closed(*args, &build) click to toggle source
# File lib/undies/element.rb, line 37
def self.closed(*args, &build)
  Closed.new(*args, &build)
end
escape_attr_value(value) click to toggle source
# File lib/undies/element.rb, line 29
def self.escape_attr_value(value)
  value.to_s.gsub(ESCAPE_ATTRS_PATTERN){|c| ESCAPE_ATTRS[c] }
end
hash_attrs(attrs="", ns=nil) click to toggle source
# File lib/undies/element.rb, line 7
def self.hash_attrs(attrs="", ns=nil)
  return attrs.to_s if !attrs.kind_of?(::Hash)

  attrs.collect do |k_v|
    [ns ? "#{ns}_#{k_v.first}" : k_v.first.to_s, k_v.last]
  end.sort.collect do |k_v|
    if k_v.last.kind_of?(::Hash)
      hash_attrs(k_v.last, k_v.first)
    elsif k_v.last.kind_of?(::Array)
      " #{k_v.first}=\"#{escape_attr_value(k_v.last.join(' '))}\""
    else
      " #{k_v.first}=\"#{escape_attr_value(k_v.last)}\""
    end
  end.join
end
open(*args, &build) click to toggle source
# File lib/undies/element.rb, line 33
def self.open(*args, &build)
  Open.new(*args, &build)
end