Module: ThinkingSphinx
- Defined in:
- lib/thinking_sphinx.rb,
lib/thinking_sphinx/field.rb,
lib/thinking_sphinx/index.rb,
lib/thinking_sphinx/search.rb,
lib/thinking_sphinx/attribute.rb,
lib/thinking_sphinx/collection.rb,
lib/thinking_sphinx/association.rb,
lib/thinking_sphinx/active_record.rb,
lib/thinking_sphinx/configuration.rb,
lib/thinking_sphinx/index/builder.rb,
lib/thinking_sphinx/rails_additions.rb,
lib/thinking_sphinx/rails_additions.rb,
lib/thinking_sphinx/rails_additions.rb,
lib/thinking_sphinx/rails_additions.rb,
lib/thinking_sphinx/index/faux_column.rb,
lib/thinking_sphinx/active_record/delta.rb,
lib/thinking_sphinx/active_record/search.rb,
lib/thinking_sphinx/adapters/mysql_adapter.rb,
lib/thinking_sphinx/adapters/abstract_adapter.rb,
lib/thinking_sphinx/adapters/postgresql_adapter.rb,
lib/thinking_sphinx/active_record/has_many_association.rb,
lib/thinking_sphinx/rails_additions.rb
Defined Under Namespace
Modules: ActiveRecord, ActiveRecordQuotedName, ActiveRecordStoreFullSTIClass, ArrayExtractOptions, HashExcept, MysqlQuotedTableName, Version Classes: AbstractAdapter, Association, Attribute, Collection, Configuration, ConnectionError, Field, Index, MysqlAdapter, PostgreSQLAdapter, Search
Constant Summary collapse
- @@deltas_enabled =
nil
- @@updates_enabled =
nil
Class Method Summary collapse
-
.define_indexes=(value) ⇒ Object
Enable/disable indexes - you may want to do this while migrating data.
-
.define_indexes? ⇒ Boolean
Check if index definition is disabled.
-
.deltas_enabled=(value) ⇒ Object
Enable/disable all delta indexing.
-
.deltas_enabled? ⇒ Boolean
Check if delta indexing is enabled.
-
.indexed_models ⇒ Object
The collection of indexed models.
-
.updates_enabled=(value) ⇒ Object
Enable/disable updates to Sphinx.
-
.updates_enabled? ⇒ Boolean
Check if updates are enabled.
-
.use_group_by_shortcut? ⇒ Boolean
Checks to see if MySQL will allow simplistic GROUP BY statements.
Class Method Details
.define_indexes=(value) ⇒ Object
Enable/disable indexes - you may want to do this while migrating data.
ThinkingSphinx.define_indexes = false
61 62 63 |
# File 'lib/thinking_sphinx.rb', line 61 def self.define_indexes=(value) @@define_indexes = value end |
.define_indexes? ⇒ Boolean
Check if index definition is disabled.
52 53 54 55 |
# File 'lib/thinking_sphinx.rb', line 52 def self.define_indexes? @@define_indexes = true unless defined?(@@define_indexes) @@define_indexes == true end |
.deltas_enabled=(value) ⇒ Object
Enable/disable all delta indexing.
ThinkingSphinx.deltas_enabled = false
78 79 80 |
# File 'lib/thinking_sphinx.rb', line 78 def self.deltas_enabled=(value) @@deltas_enabled = value end |
.deltas_enabled? ⇒ Boolean
Check if delta indexing is enabled.
69 70 71 72 |
# File 'lib/thinking_sphinx.rb', line 69 def self.deltas_enabled? @@deltas_enabled = (ThinkingSphinx::Configuration.environment != 'test') if @@deltas_enabled.nil? @@deltas_enabled end |
.indexed_models ⇒ Object
The collection of indexed models. Keep in mind that Rails lazily loads its classes, so this may not actually be populated with all the models that have Sphinx indexes.
46 47 48 |
# File 'lib/thinking_sphinx.rb', line 46 def self.indexed_models @@indexed_models ||= [] end |
.updates_enabled=(value) ⇒ Object
Enable/disable updates to Sphinx
ThinkingSphinx.updates_enabled = false
96 97 98 |
# File 'lib/thinking_sphinx.rb', line 96 def self.updates_enabled=(value) @@updates_enabled = value end |
.updates_enabled? ⇒ Boolean
Check if updates are enabled. True by default, unless within the test environment.
87 88 89 90 |
# File 'lib/thinking_sphinx.rb', line 87 def self.updates_enabled? @@updates_enabled = (ThinkingSphinx::Configuration.environment != 'test') if @@updates_enabled.nil? @@updates_enabled end |
.use_group_by_shortcut? ⇒ Boolean
Checks to see if MySQL will allow simplistic GROUP BY statements. If not, or if not using MySQL, this will return false.
103 104 105 106 107 108 109 110 111 |
# File 'lib/thinking_sphinx.rb', line 103 def self.use_group_by_shortcut? ::ActiveRecord::ConnectionAdapters.constants.include?("MysqlAdapter") && ::ActiveRecord::Base.connection.is_a?( ::ActiveRecord::ConnectionAdapters::MysqlAdapter ) && ::ActiveRecord::Base.connection.select_all( "SELECT @@global.sql_mode, @@session.sql_mode;" ).all? { |key,value| value.nil? || value[/ONLY_FULL_GROUP_BY/].nil? } end |