Sha256: 24d643bdb456c5b4baae8d66c17a67f6c1f64e92b3e99b44b75831413afc26cc

Contents?: true

Size: 1.86 KB

Versions: 7

Compression:

Stored size: 1.86 KB

Contents

namespace :thinking_sphinx do
  namespace :install do
    desc "Install Sphinx by source"
    task :sphinx do
      with_postgres = false
      run "which pg_config" do |channel, stream, data|
        with_postgres = !(data.nil? || data == "")
      end
      
      args = []
      if with_postgres
        run "pg_config --pkgincludedir" do |channel, stream, data|
          args << "--with-pgsql=#{data}"
        end
      end
      
      commands = <<-CMD
      wget -q http://www.sphinxsearch.com/downloads/sphinx-0.9.8.1.tar.gz >> sphinx.log
      tar xzvf sphinx-0.9.8.1.tar.gz
      cd sphinx-0.9.8.1
      ./configure #{args.join(" ")}
      make
      sudo make install
      rm -rf sphinx-0.9.8.1 sphinx-0.9.8.1.tar.gz
      CMD
      run commands.split(/\n\s+/).join(" && ")
    end
    
    desc "Install Thinking Sphinx as a gem from GitHub"
    task :ts do
      sudo "gem install freelancing-god-thinking-sphinx --source http://gems.github.com"
    end
  end
  
  desc "Generate the Sphinx configuration file"
  task :configure do
    rake "thinking_sphinx:configure"
  end
  
  desc "Index data"
  task :index do
    rake "thinking_sphinx:index"
  end
  
  desc "Start the Sphinx daemon"
  task :start do
    configure
    rake "thinking_sphinx:start"
  end
  
  desc "Stop the Sphinx daemon"
  task :stop do
    configure
    rake "thinking_sphinx:stop"
  end
  
  desc "Stop and then start the Sphinx daemon"
  task :restart do
    stop
    start
  end
  
  desc "Stop, re-index and then start the Sphinx daemon"
  task :rebuild do
    stop
    index
    start
  end
  
  desc "Add the shared folder for sphinx files for the production environment"
  task :shared_sphinx_folder, :roles => :web do
    sudo "mkdir -p #{shared_path}/db/sphinx/production"
  end

  def rake(*tasks)
    tasks.each do |t|
      run "cd #{current_path} && rake #{t} RAILS_ENV=production"
    end
  end
end

Version data entries

7 entries across 7 versions & 2 rubygems

Version Path
dpickett-thinking-sphinx-1.1.12 lib/thinking_sphinx/deploy/capistrano.rb
freelancing-god-thinking-sphinx-1.1.10 lib/thinking_sphinx/deploy/capistrano.rb
freelancing-god-thinking-sphinx-1.1.11 lib/thinking_sphinx/deploy/capistrano.rb
freelancing-god-thinking-sphinx-1.1.12 lib/thinking_sphinx/deploy/capistrano.rb
freelancing-god-thinking-sphinx-1.1.7 lib/thinking_sphinx/deploy/capistrano.rb
freelancing-god-thinking-sphinx-1.1.8 lib/thinking_sphinx/deploy/capistrano.rb
freelancing-god-thinking-sphinx-1.1.9 lib/thinking_sphinx/deploy/capistrano.rb