Sha256: 4416a784f544c8afbe9d046ae3a34fab6675fcae8440e912dcf70c2c772ddc6b

Contents?: true

Size: 680 Bytes

Versions: 8

Compression:

Stored size: 680 Bytes

Contents

require 'rubygems'
unless Object.const_defined?('Sequel')
  require 'sequel_core'
end
require File.join(File.dirname(__FILE__), "../lib/sequel_model")

class MockDataset < Sequel::Dataset
  def insert(*args)
    @db.execute insert_sql(*args)
  end
  
  def update(*args)
    @db.execute update_sql(*args)
  end
  
  def fetch_rows(sql)
    @db.execute(sql)
    yield({:id => 1, :x => 1})
  end
end

class MockDatabase < Sequel::Database
  attr_reader :sqls
  
  def execute(sql)
    @sqls ||= []
    @sqls << sql
  end

  def reset
    @sqls = []
  end

  def transaction; yield; end
  
  def dataset; MockDataset.new(self); end
end

Sequel::Model.db = MODEL_DB = MockDatabase.new

Version data entries

8 entries across 8 versions & 1 rubygems

Version Path
sequel_model-0.4.1 spec/spec_helper.rb
sequel_model-0.4 spec/spec_helper.rb
sequel_model-0.3.3 spec/spec_helper.rb
sequel_model-0.3.2.1 spec/spec_helper.rb
sequel_model-0.3.2 spec/spec_helper.rb
sequel_model-0.3.1 spec/spec_helper.rb
sequel_model-0.4.2 spec/spec_helper.rb
sequel_model-0.3 spec/spec_helper.rb