Sha256: b059c96f1e7c59716acaa71d881064560b8ec0cdd2e34ed9bf62153000ef52e1
Contents?: true
Size: 531 Bytes
Versions: 2
Compression:
Stored size: 531 Bytes
Contents
module Arel class Where < Compound attr_reader :predicates def initialize(relation, predicates) super(relation) @predicates = predicates.respond_to?(:map) ? predicates.map { |p| p.bind(relation) } : [predicates.bind(relation)] @wheres = nil end def wheres @wheres ||= relation.wheres + predicates end def eval unoperated_rows.select { |row| predicates.all? { |p| p.eval(row) } } end def to_sql(formatter = nil) compiler.select_sql end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
arel-1.0.1 | lib/arel/algebra/relations/operations/where.rb |
arel-1.0.0 | lib/arel/algebra/relations/operations/where.rb |