Sha256: df60da9347b5f02111a344f912764d60dd136ac46188c53ebf3a2942a70d0152
Contents?: true
Size: 1.45 KB
Versions: 1
Compression:
Stored size: 1.45 KB
Contents
module ThinkingSphinx class AbstractAdapter def initialize(model) @model = model end def setup # Deliberately blank - subclasses should do something though. Well, if # they need to. end def self.detect(model) case model.connection.class.name when "ActiveRecord::ConnectionAdapters::MysqlAdapter", "ActiveRecord::ConnectionAdapters::MysqlplusAdapter", "ActiveRecord::ConnectionAdapters::Mysql2Adapter" ThinkingSphinx::MysqlAdapter.new model when "ActiveRecord::ConnectionAdapters::PostgreSQLAdapter" ThinkingSphinx::PostgreSQLAdapter.new model when "ActiveRecord::ConnectionAdapters::JdbcAdapter" if model.connection.config[:adapter] == "jdbcmysql" ThinkingSphinx::MysqlAdapter.new model elsif model.connection.config[:adapter] == "jdbcpostgresql" ThinkingSphinx::PostgreSQLAdapter.new model else raise "Invalid Database Adapter: Sphinx only supports MySQL and PostgreSQL" end else raise "Invalid Database Adapter: Sphinx only supports MySQL and PostgreSQL, not #{model.connection.class.name}" end end def quote_with_table(column) "#{@model.quoted_table_name}.#{@model.connection.quote_column_name(column)}" end def bigint_pattern /bigint/i end protected def connection @connection ||= @model.connection end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
thorsson_thinking-sphinx-1.3.18 | lib/thinking_sphinx/adapters/abstract_adapter.rb |