module XMLable::Mixins::Container
Container
module contains the logic for the XML objects groups
Attributes
__handler[R]
@return [XMLable::Handlers::Elements]
Public Instance Methods
__empty?()
click to toggle source
Does this container contain only empty objects?
@api private
@return [Boolean]
# File lib/xmlable/mixins/container.rb, line 66 def __empty? all?(&:__empty?) end
__initialize_with(val)
click to toggle source
Initialize container with params
@api private
@param [Array<Object>] val
# File lib/xmlable/mixins/container.rb, line 55 def __initialize_with(val) val.each { |v| new(v) } end
__set_handler(handler)
click to toggle source
Set current object handler
@param [XMLable::Handlers::Elements] handler
@api private
# File lib/xmlable/mixins/container.rb, line 33 def __set_handler(handler) @__handler = handler end
__set_parent_node(node)
click to toggle source
Parent XML node
@api private
@param [Nokogiri::XML::Node]
# File lib/xmlable/mixins/container.rb, line 44 def __set_parent_node(node) @__parent_node = node end
new(args = nil)
click to toggle source
Create new element
@param [Object] args element initial params
@return [XMLable::Mixins::Object] returns created element
# File lib/xmlable/mixins/container.rb, line 17 def new(args = nil) xml = Nokogiri::XML::Element.new(@__handler.tag.to_s, @__parent_node) el = @__handler.from_xml_element(xml) el.__initialize_with(args) if args @__parent_node << xml self << el el end