Module: Undies::Element
- Defined in:
- lib/undies/element.rb
Defined Under Namespace
Modules: CSSProxy, MergeAttrs
Classes: Closed, Open
Constant Summary
collapse
- ESCAPE_ATTRS =
{
"&" => "&",
"<" => "<",
'"' => """
}
- ESCAPE_ATTRS_PATTERN =
Regexp.union(*ESCAPE_ATTRS.keys)
Class Method Summary
collapse
Class Method Details
.closed(*args, &build) ⇒ Object
37
38
39
|
# File 'lib/undies/element.rb', line 37
def self.closed(*args, &build)
Closed.new(*args, &build)
end
|
.escape_attr_value(value) ⇒ Object
.hash_attrs(attrs = "", ns = nil) ⇒ Object
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
|
# 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) ⇒ Object
33
34
35
|
# File 'lib/undies/element.rb', line 33
def self.open(*args, &build)
Open.new(*args, &build)
end
|