Sha256: cad64f3b54cc26a57d256c9fe4cd61bd77d3ea4251c4c4eccab8868b0f87bc6c
Contents?: true
Size: 1.08 KB
Versions: 3
Compression:
Stored size: 1.08 KB
Contents
module Arel module Testing class Engine < Arel::Memory::Engine attr_reader :rows def initialize @rows = [] end def supports(operation) false end def read(relation) case relation when Arel::Take, Arel::Order, Arel::Skip, Arel::Where relation.eval else @rows.dup.map { |r| Row.new(relation, r) } end end def create(insert) @rows << insert.record.tuple insert end end end class Model include Relation attr_reader :engine def self.build relation = new yield relation relation end def initialize @attributes = [] end def engine(engine = nil) @engine = engine if engine @engine end def attribute(name, type) @attributes << type.new(self, name) end def attributes Header.new(@attributes) end def format(attribute, value) value end def insert(row) insert = super Arel::Row.new(self, row) insert.record end end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
arel-1.0.1 | spec/support/model.rb |
arel-1.0.0 | spec/support/model.rb |
arel-1.0.0.rc1 | spec/support/model.rb |