Class: OpenEHR::AQL::Model::Query

Inherits:
Object
  • Object
show all
Defined in:
lib/openehr/aql/model/query.rb

Overview

The parsed, immutable representation of an AQL selectQuery. Clauses that a milestone hasn't implemented yet are nil.

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(select_clause:, from_clause:, where_clause: nil, order_by_clause: nil, limit_clause: nil) ⇒ Query

Returns a new instance of Query.



9
10
11
12
13
14
15
16
# File 'lib/openehr/aql/model/query.rb', line 9

def initialize(select_clause:, from_clause:, where_clause: nil, order_by_clause: nil, limit_clause: nil)
  @select_clause = select_clause
  @from_clause = from_clause
  @where_clause = where_clause
  @order_by_clause = order_by_clause
  @limit_clause = limit_clause
  freeze
end

Instance Attribute Details

#from_clauseObject (readonly)

Returns the value of attribute from_clause.



7
8
9
# File 'lib/openehr/aql/model/query.rb', line 7

def from_clause
  @from_clause
end

#limit_clauseObject (readonly)

Returns the value of attribute limit_clause.



7
8
9
# File 'lib/openehr/aql/model/query.rb', line 7

def limit_clause
  @limit_clause
end

#order_by_clauseObject (readonly)

Returns the value of attribute order_by_clause.



7
8
9
# File 'lib/openehr/aql/model/query.rb', line 7

def order_by_clause
  @order_by_clause
end

#select_clauseObject (readonly)

Returns the value of attribute select_clause.



7
8
9
# File 'lib/openehr/aql/model/query.rb', line 7

def select_clause
  @select_clause
end

#where_clauseObject (readonly)

Returns the value of attribute where_clause.



7
8
9
# File 'lib/openehr/aql/model/query.rb', line 7

def where_clause
  @where_clause
end

Instance Method Details

#execute(dataset, params: {}) ⇒ Object



18
19
20
# File 'lib/openehr/aql/model/query.rb', line 18

def execute(dataset, params: {})
  OpenEHR::AQL::Engine.new(self).execute(dataset, params: params)
end