module Tsuga::Adapter::ActiveRecord::Test
Public Class Methods
models()
click to toggle source
# File lib/tsuga/adapter/active_record/test.rb, line 17 def models @_models ||= _build_test_models end
Private Class Methods
_build_test_models()
click to toggle source
# File lib/tsuga/adapter/active_record/test.rb, line 46 def _build_test_models _prepare_tables cluster_model = Class.new(ActiveRecord::Base) do self.table_name = 'test_clusters' include Tsuga::Adapter::ActiveRecord::Cluster def run_callbacks(*args) yield if block_given? end end record_model = Class.new(ActiveRecord::Base) do self.table_name = 'test_records' include Tsuga::Adapter::ActiveRecord::Record end OpenStruct.new :clusters => cluster_model, :records => record_model end
_db()
click to toggle source
Makes sure a connection exists
# File lib/tsuga/adapter/active_record/test.rb, line 24 def _db @_db ||= begin unless ActiveRecord::Base.connected? ActiveRecord::Base.establish_connection(adapter:'sqlite3', database:':memory:') end ActiveRecord::Base.connection end end
_prepare_tables()
click to toggle source
# File lib/tsuga/adapter/active_record/test.rb, line 33 def _prepare_tables _db.drop_table(:test_records) if _db.table_exists?(:test_records) _db.create_table(:test_records) do |t| t.string :geohash, limit:32 t.float :lat t.float :lng end _db.add_index :test_records, :geohash _db.drop_table(:test_clusters) if _db.table_exists?(:test_clusters) Migration.new.tap { |m| m.verbose = false ; m.up } end
run_callbacks(*args) { || ... }
click to toggle source
# File lib/tsuga/adapter/active_record/test.rb, line 53 def run_callbacks(*args) yield if block_given? end