lib/ultrasphinx/ultrasphinx.rb in ultrasphinx-1.5 vs lib/ultrasphinx/ultrasphinx.rb in ultrasphinx-1.5.1

- old
+ new

@@ -57,14 +57,32 @@ sql_query_pre = SET NAMES utf8 ), 'postgresql' => %( type = pgsql )} + + ADAPTER_SQL_FUNCTIONS = { + 'mysql' => { + 'group_by' => 'GROUP BY id', + 'timestamp' => 'UNIX_TIMESTAMP(' + }, + 'postgresql' => { + 'group_by' => '', + 'timestamp' => 'EXTRACT(EPOCH FROM ' + } + } + + ADAPTER = ActiveRecord::Base.connection.instance_variable_get("@config")[:adapter] # Logger. def self.say msg - STDERR.puts "** ultrasphinx: #{msg}" + msg = "** ultrasphinx: #{msg}" + if defined? RAILS_DEFAULT_LOGGER + RAILS_DEFAULT_LOGGER.warn msg + else + STDERR.puts msg + end end # Configuration file parser. def self.options_for(heading, path) section = open(path).read[/^#{heading}\s*?\{(.*?)\}/m, 1] @@ -98,16 +116,19 @@ MODEL_CONFIGURATION = {} # Complain if the database names go out of sync. def self.verify_database_name if File.exist? CONF_PATH - if options_for( - "source #{MODEL_CONFIGURATION.keys.first.tableize}", - CONF_PATH - )['sql_db'] != ActiveRecord::Base.connection.instance_variable_get("@config")[:database] - say "warning; configured database name is out-of-date" - say "please run 'rake ultrasphinx:configure'" - end rescue nil + begin + if options_for( + "source #{MODEL_CONFIGURATION.keys.first.tableize}", + CONF_PATH + )['sql_db'] != ActiveRecord::Base.connection.instance_variable_get("@config")[:database] + say "warning; configured database name is out-of-date" + say "please run 'rake ultrasphinx:configure'" + end + rescue Object + end end end end