Class: JetSet::Query

Inherits:
Object
  • Object
show all
Defined in:
lib/jet_set/query.rb

Overview

Parsed JetSet query

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(attrs = {}) ⇒ Query

Parameters:

attrs:
  sql: parsed valid SQL expression
  returns_single_item: does SQL expression return single row? (LIMIT 1)
  entities: entities (+JetSet:EntityMapping+) enumerated in the query statements


11
12
13
14
15
# File 'lib/jet_set/query.rb', line 11

def initialize(attrs = {})
  @sql = attrs[:sql]
  @returns_single_item = attrs[:returns_single_item] || false
  @entities = attrs[:entities] || []
end

Instance Attribute Details

#sqlObject (readonly)

Returns the value of attribute sql.



4
5
6
# File 'lib/jet_set/query.rb', line 4

def sql
  @sql
end

Instance Method Details

#refers_to?(type) ⇒ Boolean

Is entity type enumerated in ENTITY statements?

Returns:

  • (Boolean)


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

def refers_to?(type)
  @entities.any?{|entity| entity.type == type}
end

#returns_single_item?Boolean

Does SQL expression return single row? (LIMIT 1)

Returns:

  • (Boolean)


18
19
20
# File 'lib/jet_set/query.rb', line 18

def returns_single_item?
  @returns_single_item
end