class NativeQuery::Result
Represents ORM query result.
Attributes
query[R]
Public Class Methods
new(query)
click to toggle source
Constructor.
# File lib/native-query/result.rb, line 23 def initialize(query) @query = query end
Public Instance Methods
all()
click to toggle source
Returns all rows.
# File lib/native-query/result.rb, line 59 def all self.map { |row| row } end
assoc(*args, &block)
click to toggle source
Returns data in complex associative level.
According to limitations of equivalent MP::Fluent method. Block is applied to all resultant rows.
# File lib/native-query/result.rb, line 70 def assoc(*args, &block) @query.assoc(*args) do |row| result = Row::new(row) if block result = block.call(result) end result # returns end end
count()
click to toggle source
Returns count of the records.
# File lib/native-query/result.rb, line 86 def count @query.count end
each() { |new(row)| ... }
click to toggle source
Iterates through result.
# File lib/native-query/result.rb, line 47 def each @query.each do |row| yield Row::new(row) end self.free! end
free!()
click to toggle source
Frees result resources.
# File lib/native-query/result.rb, line 108 def free! @query.free! end
map(&block)
click to toggle source
Maps callback to array.
# File lib/native-query/result.rb, line 94 def map(&block) result = [ ] self.each do |item| result << block.call(item) end return result end
one()
click to toggle source
Returns one result row.
# File lib/native-query/result.rb, line 39 def one Row::new(@query.one) end
single()
click to toggle source
Returns first field value of first record.
# File lib/native-query/result.rb, line 31 def single @query.single end