Class: Trilogy::Result

Inherits:
Object
  • Object
show all
Includes:
Enumerable
Defined in:
lib/trilogy/result.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(fields, rows, query_time, in_transaction, affected_rows, last_insert_id) ⇒ Result

Returns a new instance of Result.



8
9
10
11
12
13
14
15
# File 'lib/trilogy/result.rb', line 8

def initialize(fields, rows, query_time, in_transaction, affected_rows, last_insert_id)
  @fields = fields || EMPTY_ARRAY
  @rows = rows || EMPTY_ARRAY
  @query_time = query_time
  @in_transaction = in_transaction
  @affected_rows = affected_rows
  @last_insert_id = last_insert_id
end

Instance Attribute Details

#affected_rowsObject (readonly)

Returns the value of attribute affected_rows.



3
4
5
# File 'lib/trilogy/result.rb', line 3

def affected_rows
  @affected_rows
end

#fieldsObject (readonly)

Returns the value of attribute fields.



3
4
5
# File 'lib/trilogy/result.rb', line 3

def fields
  @fields
end

#last_insert_idObject (readonly)

Returns the value of attribute last_insert_id.



3
4
5
# File 'lib/trilogy/result.rb', line 3

def last_insert_id
  @last_insert_id
end

#query_timeObject (readonly)

Returns the value of attribute query_time.



3
4
5
# File 'lib/trilogy/result.rb', line 3

def query_time
  @query_time
end

#rowsObject (readonly)

Returns the value of attribute rows.



3
4
5
# File 'lib/trilogy/result.rb', line 3

def rows
  @rows
end

Instance Method Details

#countObject Also known as: size



21
22
23
# File 'lib/trilogy/result.rb', line 21

def count
  rows.count
end

#each(&bk) ⇒ Object



45
46
47
# File 'lib/trilogy/result.rb', line 45

def each(&bk)
  rows.each(&bk)
end

#each_hashObject



27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
# File 'lib/trilogy/result.rb', line 27

def each_hash
  return enum_for(:each_hash) unless block_given?

  rows.each do |row|
    this_row = {}

    idx = 0
    row.each do |col|
      this_row[fields[idx]] = col
      idx += 1
    end

    yield this_row
  end

  self
end

#in_transaction?Boolean

Returns:

  • (Boolean)


17
18
19
# File 'lib/trilogy/result.rb', line 17

def in_transaction?
  @in_transaction
end