Module: Weskit::WML::Mixins::Container
Instance Method Summary
collapse
Methods included from Validator
raise_if_invalid, raise_if_missing, raise_unless
Instance Method Details
17
18
19
20
21
|
# File 'lib/weskit/wml/mixins/container.rb', line 17
def << item
raise_unless ::Weskit::WML::Item, item
add item
self
end
|
10
11
12
13
14
15
|
# File 'lib/weskit/wml/mixins/container.rb', line 10
def [] key
case key
when Integer then elements[key]
else attributes[key] rescue nil
end
end
|
#attributes ⇒ Object
Also known as:
attrs
23
24
25
|
# File 'lib/weskit/wml/mixins/container.rb', line 23
def attributes
::Weskit::WML::Attributes.new *(select_type_of ::Weskit::WML::Attribute)
end
|
#build(&contents) ⇒ Object
29
30
31
|
# File 'lib/weskit/wml/mixins/container.rb', line 29
def build &contents
push *(::Weskit::WML::Builder.build &contents)
end
|
#delete(item) ⇒ Object
33
34
35
|
# File 'lib/weskit/wml/mixins/container.rb', line 33
def delete item
contents.delete_if {|i| i.equal? item}
end
|
#elements ⇒ Object
Also known as:
elems
37
38
39
|
# File 'lib/weskit/wml/mixins/container.rb', line 37
def elements
::Weskit::WML::Elements.new *(select_type_of ::Weskit::WML::Element)
end
|
#exists?(item) ⇒ Boolean
43
44
45
|
# File 'lib/weskit/wml/mixins/container.rb', line 43
def exists? item
contents.any? {|i| i.equal? item}
end
|
#push(*items) ⇒ Object
47
48
49
50
|
# File 'lib/weskit/wml/mixins/container.rb', line 47
def push *items
items.each {|i| self << i}
self
end
|