class FluentQuery::Result
Represents result wrapper.
Public Class Methods
new(result)
click to toggle source
Initializes result.
# File lib/fluent-query/result.rb, line 23 def initialize(result) @_result = result end
Public Instance Methods
all()
click to toggle source
Returns all selected rows.
# File lib/fluent-query/result.rb, line 42 def all @_result.all end
assoc(*specification, &block)
click to toggle source
Returns data in complex associative level. Only two levels are currently supported.
# File lib/fluent-query/result.rb, line 70 def assoc(*specification, &block) if block.nil? block = Proc::new { |v| v } end specification.map! { |i| i.to_s } length = specification.length result = { } ## if length == 0 raise FluentQuery::Exception::new("Specification must content at least one field name.") elsif length == 1 key = specification.first self.each do |item| result[item[key]] = block.call(item) end else key_1, key_2 = specification self.each do |item| target_1 = item[key_1] target_2 = item[key_2] if not result[target_1] result[target_1] = { } end result[target_1][target_2] = block.call(item) end end return result end
count()
click to toggle source
Returns rows count.
# File lib/fluent-query/result.rb, line 132 def count @_result.count end
each(&block)
click to toggle source
Handles iterating.
# File lib/fluent-query/result.rb, line 113 def each(&block) @_result.each &block self.free! end
finish!()
click to toggle source
Finishes the result set. (Cleanups.)
# File lib/fluent-query/result.rb, line 33 def finish! @_result.free! end
free!()
click to toggle source
Frees result resources.
# File lib/fluent-query/result.rb, line 141 def free! @_result.free! end
one()
click to toggle source
Returns one row.
# File lib/fluent-query/result.rb, line 51 def one @_result.one end
repeat!()
click to toggle source
Repeats the query leaded to the result.
# File lib/fluent-query/result.rb, line 123 def repeat! @_result.repeat! end
single()
click to toggle source
Returns first value of first row.
# File lib/fluent-query/result.rb, line 60 def single @_result.single end