summaryrefslogtreecommitdiff
path: root/vendor/plugins/thinking-sphinx/features/support/post_database.rb
blob: 51cefb5ed90a071e41f94f593192858fef374d78 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
$:.unshift File.dirname(__FILE__) + '/../../lib'

require 'lib/thinking_sphinx'

%w( tmp/config tmp/log tmp/db/sphinx/development ).each do |path|
  FileUtils.mkdir_p "#{Dir.pwd}/#{path}"
end

Kernel.const_set :RAILS_ROOT, "#{Dir.pwd}/tmp" unless defined?(RAILS_ROOT)

at_exit do
  ThinkingSphinx::Configuration.instance.controller.stop
  sleep(1) # Ensure Sphinx has shut down completely
  FileUtils.rm_r "#{Dir.pwd}/tmp"
end

# Add log file
ActiveRecord::Base.logger = Logger.new open("tmp/active_record.log", "a")

ThinkingSphinx.deltas_enabled = false

# Load Models
Dir["features/support/models/*.rb"].sort.each do |file|
  require file.gsub(/\.rb$/, '')
end

# Set up database tables and records
Dir["features/support/db/migrations/*.rb"].each do |file|
  require file.gsub(/\.rb$/, '')
end

ThinkingSphinx.deltas_enabled = true
ThinkingSphinx.suppress_delta_output = true

ThinkingSphinx::Configuration.instance.build
ThinkingSphinx::Configuration.instance.controller.index
ThinkingSphinx::Configuration.instance.controller.start