Sha256: d4621140f61d0272ccb25ed243d07e859ee37e2b40e5612bf30adadb68934533

Contents?: true

Size: 1.41 KB

Versions: 4

Compression:

Stored size: 1.41 KB

Contents

require 'active_record'
require 'active_record/connection_adapters/mysql2_adapter'
require 'active_record/connection_adapters/postgresql_adapter'
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']
    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
    )
    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-2.0.11 spec/sphinx_helper.rb
thinking-sphinx-2.0.10 spec/sphinx_helper.rb
thinking-sphinx-2.0.9 spec/sphinx_helper.rb
thinking-sphinx-2.0.8 spec/sphinx_helper.rb