Sha256: d23bf39be9f8b7131318112906ded671c787ff30f526f2929ea991d42bf88f7f

Contents?: true

Size: 1.77 KB

Versions: 4

Compression:

Stored size: 1.77 KB

Contents

require 'active_record'
prefix = defined?(JRUBY_VERSION) ? "jdbc" : ""
require "active_record/connection_adapters/#{prefix}mysql_adapter"
require "active_record/connection_adapters/mysql2_adapter"

begin
  require "active_record/connection_adapters/#{prefix}postgresql_adapter"
rescue LoadError
  # No postgres?  no prob...
end
require 'yaml'

class SphinxHelper
  attr_accessor :host, :username, :password, :socket
  attr_reader   :path

  def initialize
    @host     = 'localhost'
    @username = 'root'
    @password = ''

    if File.exist?('spec/fixtures/database.yml')
      config    = YAML.load(File.open('spec/fixtures/database.yml'))
      @host     = config['host']
      @username = config['username']
      @password = config['password']
      @socket   = config['socket']
      @sslca    = config['sslca']
      @sslcert  = config['sslcert']
      @sslkey   = config['sslkey']
    end

    @path = File.expand_path(File.dirname(__FILE__))
  end

  def setup_mysql
    ActiveRecord::Base.establish_connection(
      :adapter  => mysql_adapter,
      :database => 'thinking_sphinx',
      :username => @username,
      :password => @password,
      :host     => @host,
      :socket   => @socket,
      :sslca    => @sslca,
      :sslcert  => @sslcert,
      :sslkey   => @sslkey
    )
    ActiveRecord::Base.logger = Logger.new(File.open('tmp/activerecord.log', 'a'))

    structure = File.open('spec/fixtures/structure.sql') { |f| f.read.chomp }
    structure.split(';').each { |table|
      ActiveRecord::Base.connection.execute table
    }

    File.open('spec/fixtures/data.sql') { |f|
      while line = f.gets
        ActiveRecord::Base.connection.execute line unless line.blank?
      end
    }
  end

  private

  def mysql_adapter
    defined?(JRUBY_VERSION) ? 'jdbcmysql' : 'mysql2'
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
thinking-sphinx-1.5.0 spec/sphinx_helper.rb
thinking-sphinx-1.4.14 spec/sphinx_helper.rb
thinking-sphinx-1.4.13 spec/sphinx_helper.rb
thinking-sphinx-1.4.12 spec/sphinx_helper.rb