Class: BELParser::Language::Version1_0::Upgrades::ActivityTransformation
- Inherits:
-
Object
- Object
- BELParser::Language::Version1_0::Upgrades::ActivityTransformation
- Defined in:
- lib/bel_parser/language/version1_0/upgrades/activity_transformation.rb
Constant Summary
Constants included from TermTransformation
TermTransformation::ACTIVITIES, TermTransformation::PMODTYPES
Instance Method Summary collapse
- #add_molecular_activity(_activity_identifier) ⇒ Object
- #on_function(function_node) ⇒ Object
- #on_term(term_node) ⇒ Object
Methods included from TermTransformation
#collapse, #on_argument, #on_nested_statement, #on_object, #on_observed_term, #on_simple_statement, #on_statement, #on_subject
Methods included from Parsers::AST::Sexp
#annotation_definition, #argument, #blank_line, build, #comment, #comment_line, #document_property, #domain, #function, #identifier, #keyword, #list, #list_item, #multi_identifier, #name, #namespace_definition, #nested_statement, #object, #observed_term, #parameter, #pattern, #prefix, #relationship, #set, #simple_statement, #statement, #string, #subject, #term, #unset, #uri, #url, #value
Methods included from AST::Processor::Mixin
#handler_missing, #process, #process_all
Instance Method Details
#add_molecular_activity(_activity_identifier) ⇒ Object
28 29 30 31 32 33 34 35 36 37 38 39 |
# File 'lib/bel_parser/language/version1_0/upgrades/activity_transformation.rb', line 28 def add_molecular_activity(_activity_identifier) argument( term( function( identifier('molecularActivity')), argument( parameter( prefix( identifier('default')), value( identifier(_activity_identifier)))))) end |
#on_function(function_node) ⇒ Object
41 42 43 |
# File 'lib/bel_parser/language/version1_0/upgrades/activity_transformation.rb', line 41 def on_function(function_node) function_node.updated([identifier('activity')]) end |
#on_term(term_node) ⇒ Object
14 15 16 17 18 19 20 21 22 23 24 25 26 |
# File 'lib/bel_parser/language/version1_0/upgrades/activity_transformation.rb', line 14 def on_term(term_node) if ACTIVITIES.keys.include?(term_node.function.identifier.string_literal) term_node.updated([ # activity function process(term_node.function), # original arguments term_node.arguments.map! {|arg| argument(process(arg.child))}, # additional molecularActivity argument add_molecular_activity(ACTIVITIES[term_node.function.identifier.string_literal]) ].flatten) end end |