class Nodesets::Nodeset
Attributes
sorted[R]
Public Class Methods
new(nodes = nil, sorted = false)
click to toggle source
Calls superclass method
# File lib/nodesets/nodeset.rb, line 6 def initialize(nodes = nil, sorted = false) @sorted = sorted nodes = Nodesets.parse_nodeset(nodes) if nodes && nodes.is_a?(String) #nodes = Nodesets.parse_nodeset(nodes) if nodes && (! nodes.is_a?(Set)) super(nodes) end
Public Instance Methods
&(nodes)
click to toggle source
Calls superclass method
# File lib/nodesets/nodeset.rb, line 28 def &(nodes) nodes = Nodesets.parse_nodeset(nodes) if nodes && (! nodes.is_a?(Set)) super(nodes) end
[](pos)
click to toggle source
# File lib/nodesets/nodeset.rb, line 49 def [](pos) self.human_sort! unless @sorted self.to_a[pos] end
^(nodes)
click to toggle source
Calls superclass method
# File lib/nodesets/nodeset.rb, line 32 def ^(nodes) nodes = Nodesets.parse_nodeset(nodes) if nodes && (! nodes.is_a?(Set)) self.class.new(super(nodes)) end
expand(sort: true)
click to toggle source
# File lib/nodesets/nodeset.rb, line 56 def expand(sort: true) self.human_sort! if (! @sorted) && sort self.to_a end
fold()
click to toggle source
# File lib/nodesets/nodeset.rb, line 53 def fold Nodesets.make_nodeset(self) end
human_sort()
click to toggle source
# File lib/nodesets/nodeset.rb, line 36 def human_sort if @sorted self else Nodesets::Nodeset.new(Nodesets::HumanSortableArray.new(self.to_a).human_sort, true) end end
human_sort!()
click to toggle source
# File lib/nodesets/nodeset.rb, line 43 def human_sort! self.replace(human_sort) #replaced = self.replace(human_sort) #@sorted = true #replaced end
merge(nodes)
click to toggle source
Calls superclass method
# File lib/nodesets/nodeset.rb, line 12 def merge(nodes) @sorted = false if nodes && (! nodes.is_a?(Set)) nodes = if nodes.is_a?(Array) nodes.map {|x| Nodesets.parse_nodeset(x) }.flatten else Nodesets.parse_nodeset(nodes) end end super(nodes) end
subtract(nodes)
click to toggle source
Calls superclass method
# File lib/nodesets/nodeset.rb, line 23 def subtract(nodes) @sorted = false nodes = Nodesets.parse_nodeset(nodes) if nodes && (! nodes.is_a?(Set)) super(nodes) end