Module: Wood::Node::ClassMethods
- Defined in:
- lib/wood/node.rb
Instance Attribute Summary collapse
-
#node_name_prefix ⇒ Object
Prefix to be ignored for #node_name.
Instance Method Summary collapse
-
#[](options = {}) ⇒ Object
Instantiates a new instance of ‘self` with `options`.
-
#__child_nodes__ ⇒ Array<Symbol>
List of child node names for a Wood::Node class.
- #child_nodes(*child_nodes) ⇒ Object
-
#node_name(node_name = nil) ⇒ Object
Overrides the default node name of a Wood::Node class.
Instance Attribute Details
#node_name_prefix ⇒ Object
Prefix to be ignored for #node_name
29 30 31 |
# File 'lib/wood/node.rb', line 29 def node_name_prefix @node_name_prefix end |
Instance Method Details
#[](options = {}) ⇒ Object
Instantiates a new instance of ‘self` with `options`.
44 45 46 |
# File 'lib/wood/node.rb', line 44 def []( = {}) new() end |
#__child_nodes__ ⇒ Array<Symbol>
Returns List of child node names for a Wood::Node class.
17 18 19 |
# File 'lib/wood/node.rb', line 17 def __child_nodes__ superclass.__child_nodes__ + (@__child_nodes__ || []) end |
#child_nodes(*child_nodes) ⇒ Object
23 24 25 26 |
# File 'lib/wood/node.rb', line 23 def child_nodes(*child_nodes) @__child_nodes__ = child_nodes attr_accessor *child_nodes end |
#node_name(node_name = nil) ⇒ Object
Overrides the default node name of a Wood::Node class.
34 35 36 37 38 39 40 41 |
# File 'lib/wood/node.rb', line 34 def node_name(node_name = nil) @__node_name__ = node_name if node_name unless @__node_name__ camel_cased = (name.split("::") - node_name_prefix.split("::")).join @__node_name__ = camel_cased.snake_cased.to_sym end @__node_name__ end |