class FluentQuery::Queries::Abstract
Represents and abstract query.
Attributes
connection[R]
Public Class Methods
new(connection)
click to toggle source
Constructor.
# File lib/fluent-query/queries/abstract.rb, line 32 def initialize(connection) @connection = connection end
Public Instance Methods
all(*args)
click to toggle source
Returns all selected rows.
# File lib/fluent-query/queries/abstract.rb, line 89 def all(*args) self.execute(*args).all end
assoc(*specification, &block)
click to toggle source
Returns all selected rows ordered according to datafield from it.
# File lib/fluent-query/queries/abstract.rb, line 108 def assoc(*specification, &block) self.execute.assoc(*specification, &block) end
build(*args)
click to toggle source
Builds prepared query string to final form.
# File lib/fluent-query/queries/abstract.rb, line 55 def build(*args) not_implemented end
Also aliased as: "build!"
do(*args)
click to toggle source
Executes query and returns count of changed/inserted rows.
# File lib/fluent-query/queries/abstract.rb, line 77 def do(*args) @connection.do(self.build(*args)) end
Also aliased as: "do!"
each(*args) { |item| ... }
click to toggle source
Handles iterating.
# File lib/fluent-query/queries/abstract.rb, line 126 def each(*args) self.execute(*args).each do |item| yield item end end
execute(*args)
click to toggle source
Executes query and returns result object.
# File lib/fluent-query/queries/abstract.rb, line 66 def execute(*args) @connection.execute(self.build(*args)) end
Also aliased as: "execute!"
find_all(*args, &block)
click to toggle source
Returns only rows for which block is true.
# File lib/fluent-query/queries/abstract.rb, line 152 def find_all(*args, &block) result = [ ] self.each(*args) do |item| if block.call(item) === true result << block.call(item) end end return result end
Also aliased as: filter
map(*args, &block)
click to toggle source
Maps callback to array.
# File lib/fluent-query/queries/abstract.rb, line 137 def map(*args, &block) result = [ ] self.each(*args) do |item| result << block.call(item) end return result end
one(*args)
click to toggle source
Returns one row.
# File lib/fluent-query/queries/abstract.rb, line 99 def one(*args) self.execute(*args).one end
processor()
click to toggle source
Returns processor.
# File lib/fluent-query/queries/abstract.rb, line 41 def processor if not @processor driver = @connection.driver @processor = FluentQuery::Queries::Processor::new(driver) end return @processor end
single(*args)
click to toggle source
Returns first value of first row.
# File lib/fluent-query/queries/abstract.rb, line 117 def single(*args) self.execute(*args).single end