Class: ASTUtils::NodeSet
- Inherits:
-
Object
- Object
- ASTUtils::NodeSet
- Includes:
- Enumerable
- Defined in:
- lib/ast_utils/node_set.rb
Defined Under Namespace
Classes: Item
Instance Attribute Summary collapse
-
#set ⇒ Object
readonly
Returns the value of attribute set.
Instance Method Summary collapse
- #+(other) ⇒ Object
- #<<(node) ⇒ Object
- #delete(node) ⇒ Object
- #each(&block) ⇒ Object
- #empty? ⇒ Boolean
-
#initialize(objects = []) ⇒ NodeSet
constructor
A new instance of NodeSet.
- #size ⇒ Object
Constructor Details
#initialize(objects = []) ⇒ NodeSet
25 26 27 |
# File 'lib/ast_utils/node_set.rb', line 25 def initialize(objects = []) @set = Set.new(objects.map {|object| Item.new(object) }) end |
Instance Attribute Details
#set ⇒ Object (readonly)
Returns the value of attribute set.
23 24 25 |
# File 'lib/ast_utils/node_set.rb', line 23 def set @set end |
Instance Method Details
#+(other) ⇒ Object
51 52 53 |
# File 'lib/ast_utils/node_set.rb', line 51 def +(other) self.class.new(self.set + other.set) end |
#<<(node) ⇒ Object
29 30 31 |
# File 'lib/ast_utils/node_set.rb', line 29 def <<(node) set << Item.new(node) end |
#delete(node) ⇒ Object
33 34 35 |
# File 'lib/ast_utils/node_set.rb', line 33 def delete(node) set.delete Item.new(node) end |
#each(&block) ⇒ Object
37 38 39 |
# File 'lib/ast_utils/node_set.rb', line 37 def each(&block) set.map(&:object).each(&block) end |
#empty? ⇒ Boolean
41 42 43 |
# File 'lib/ast_utils/node_set.rb', line 41 def empty? size == 0 end |
#size ⇒ Object
45 46 47 |
# File 'lib/ast_utils/node_set.rb', line 45 def size set.size end |