Class: Rafflesia::QueryRequest

Inherits:
Types::BaseModel
  • Object
show all
Defined in:
lib/rafflesia/query/query_request.rb

Constant Summary collapse

HASH_ATTRS =
{
  allow_unverified_joins: :allow_unverified_joins,
  budget: :budget,
  budget_profile: :budget_profile,
  cursor: :cursor,
  dialect: :dialect,
  join_evidence_policy: :join_evidence_policy,
  limit: :limit,
  ontology_digest: :ontology_digest,
  required_join_evidence: :required_join_evidence,
  sources: :sources,
  sql: :sql,
  strict_joins: :strict_joins
}.freeze

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(json) ⇒ QueryRequest

Returns a new instance of QueryRequest.



37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
# File 'lib/rafflesia/query/query_request.rb', line 37

def initialize(json)
  super()
  hash = self.class.normalize(json)
  @allow_unverified_joins = hash[:allow_unverified_joins]
  @budget = hash[:budget] ? Rafflesia::QueryBudget.new(hash[:budget]) : nil
  @budget_profile = hash[:budget_profile]
  @cursor = hash[:cursor]
  @dialect = hash[:dialect]
  @join_evidence_policy = hash[:join_evidence_policy]
  @limit = hash[:limit]
  @ontology_digest = hash[:ontology_digest]
  @required_join_evidence = (hash[:required_join_evidence] || []).map { |item| item ? Rafflesia::DatabaseJoinEvidenceRequirement.new(item) : nil }
  @sources = (hash[:sources] || []).map { |item| item ? Rafflesia::QuerySource.new(item) : nil }
  @sql = hash[:sql]
  @strict_joins = hash[:strict_joins]
end

Instance Attribute Details

#allow_unverified_joinsObject

Returns the value of attribute allow_unverified_joins.



23
24
25
# File 'lib/rafflesia/query/query_request.rb', line 23

def allow_unverified_joins
  @allow_unverified_joins
end

#budgetObject

Returns the value of attribute budget.



23
24
25
# File 'lib/rafflesia/query/query_request.rb', line 23

def budget
  @budget
end

#budget_profileObject

Returns the value of attribute budget_profile.



23
24
25
# File 'lib/rafflesia/query/query_request.rb', line 23

def budget_profile
  @budget_profile
end

#cursorObject

Returns the value of attribute cursor.



23
24
25
# File 'lib/rafflesia/query/query_request.rb', line 23

def cursor
  @cursor
end

#dialectObject

Returns the value of attribute dialect.



23
24
25
# File 'lib/rafflesia/query/query_request.rb', line 23

def dialect
  @dialect
end

#join_evidence_policyObject

Returns the value of attribute join_evidence_policy.



23
24
25
# File 'lib/rafflesia/query/query_request.rb', line 23

def join_evidence_policy
  @join_evidence_policy
end

#limitObject

Returns the value of attribute limit.



23
24
25
# File 'lib/rafflesia/query/query_request.rb', line 23

def limit
  @limit
end

#ontology_digestObject

Returns the value of attribute ontology_digest.



23
24
25
# File 'lib/rafflesia/query/query_request.rb', line 23

def ontology_digest
  @ontology_digest
end

#required_join_evidenceObject

Returns the value of attribute required_join_evidence.



23
24
25
# File 'lib/rafflesia/query/query_request.rb', line 23

def required_join_evidence
  @required_join_evidence
end

#sourcesObject

Returns the value of attribute sources.



23
24
25
# File 'lib/rafflesia/query/query_request.rb', line 23

def sources
  @sources
end

#sqlObject

Returns the value of attribute sql.



23
24
25
# File 'lib/rafflesia/query/query_request.rb', line 23

def sql
  @sql
end

#strict_joinsObject

Returns the value of attribute strict_joins.



23
24
25
# File 'lib/rafflesia/query/query_request.rb', line 23

def strict_joins
  @strict_joins
end