Module: BEL::LibBEL::NodeTransformation
- Defined in:
- lib/bel/libbel/node_transformation.rb
Instance Method Summary collapse
- #transform(transforms, options = {}) ⇒ Object
- #transform_tree(transforms, traversal = :depth_first, options = {}) ⇒ Object
Instance Method Details
#transform(transforms, options = {}) ⇒ Object
5 6 7 8 9 10 11 12 13 14 15 16 |
# File 'lib/bel/libbel/node_transformation.rb', line 5 def transform(transforms, = {}) if [:mutate] == true ast_node = self else ast_node = LibBEL::copy_ast_node(self) end transforms.each do |transform| transform.call(ast_node) end ast_node end |
#transform_tree(transforms, traversal = :depth_first, options = {}) ⇒ Object
18 19 20 21 22 23 24 25 26 27 28 29 30 |
# File 'lib/bel/libbel/node_transformation.rb', line 18 def transform_tree(transforms, traversal = :depth_first, = {}) if [:mutate] == true ast_node = self else ast_node = LibBEL::copy_ast_node(self) end transforms.each do |transform| self.traversal_method(ast_node, traversal).call(transform) end ast_node end |