Class: OpenehrRails::Aql::Executor
- Inherits:
-
Object
- Object
- OpenehrRails::Aql::Executor
- Defined in:
- lib/openehr_rails/aql/executor.rb
Overview
Public entry point: validate -> build the Dataset from the RM graph -> execute -> translate any engine error into OpenehrRails::Aql::Error.
Class Method Summary collapse
Class Method Details
.execute(aql_string, params: {}, ehr_scope: OpenehrRails::Rm::Ehr.all, composition_scope: OpenehrRails::Rm::Composition.latest) ⇒ Object
10 11 12 13 14 15 16 17 18 19 20 21 22 |
# File 'lib/openehr_rails/aql/executor.rb', line 10 def self.execute(aql_string, params: {}, ehr_scope: OpenehrRails::Rm::Ehr.all, composition_scope: OpenehrRails::Rm::Composition.latest) query = QueryValidator.validate!(aql_string) dataset = DatasetAdapter.build(ehr_scope: ehr_scope, composition_scope: composition_scope) begin query.execute(dataset, params: params) rescue OpenEHR::AQL::UnboundParameterError => e raise InvalidQuery, e. rescue OpenEHR::AQL::DatasetError, OpenEHR::AQL::ExecutionError => e raise UnsupportedFeature, e. end end |