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/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/active_record/has_many_association.rb
Defined Under Namespace
Modules: ActiveRecord, ActiveRecordQuotedName, ArrayExtractOptions, HashExcept, MysqlQuotedTableName, Version Classes: Association, Attribute, Configuration, ConnectionError, Field, Index, 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
51 52 53 |
# File 'lib/thinking_sphinx.rb', line 51 def self.define_indexes=(value) @@define_indexes = value end |
.define_indexes? ⇒ Boolean
Check if index definition is disabled.
42 43 44 45 |
# File 'lib/thinking_sphinx.rb', line 42 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
68 69 70 |
# File 'lib/thinking_sphinx.rb', line 68 def self.deltas_enabled=(value) @@deltas_enabled = value end |
.deltas_enabled? ⇒ Boolean
Check if delta indexing is enabled.
59 60 61 62 |
# File 'lib/thinking_sphinx.rb', line 59 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.
36 37 38 |
# File 'lib/thinking_sphinx.rb', line 36 def self.indexed_models @@indexed_models ||= [] end |
.updates_enabled=(value) ⇒ Object
Enable/disable updates to Sphinx
ThinkingSphinx.updates_enabled = false
86 87 88 |
# File 'lib/thinking_sphinx.rb', line 86 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.
77 78 79 80 |
# File 'lib/thinking_sphinx.rb', line 77 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.
93 94 95 96 97 98 99 100 101 |
# File 'lib/thinking_sphinx.rb', line 93 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 |