Module: MySQL::Search

Defined in:
lib/mysql/search.rb,
lib/mysql/search/jobs.rb,
lib/mysql/search/utils.rb,
lib/mysql/search/source.rb,
lib/mysql/search/grabber.rb,
lib/mysql/search/railtie.rb,
lib/mysql/search/updater.rb,
lib/mysql/search/callbacks.rb,
lib/mysql/search/searchable.rb,
lib/mysql/search/utils/formatter.rb,
lib/mysql/search/jobs/updater_job.rb,
lib/mysql/search/utils/duration_parser.rb,
lib/mysql/search/jobs/scheduled_updater_job.rb,
lib/generators/mysql/search/install_generator.rb,
lib/mysql/search/queries/updated_sources_query.rb,
lib/mysql/search/queries/full_text_search_query.rb,
lib/generators/mysql/search/create_trigger_generator.rb,
lib/mysql/search/queries/boolean_full_text_search_query.rb

Overview

Provides a namespace for MySQL search functionality.

Defined Under Namespace

Modules: Jobs, Queries, Searchable, Utils Classes: Callbacks, CreateTriggerGenerator, Grabber, InstallGenerator, Railtie, Source, Updater

Class Method Summary collapse

Class Method Details

.configure {|_self| ... } ⇒ Object

Yields:

  • (_self)

Yield Parameters:

  • _self (MySQL::Search) —

    the object that the method was called on



51
52
53
# File 'lib/mysql/search.rb', line 51

def configure
  yield self
end

.load_source_classes! ⇒ Object

Keep a separate API entrypoint used by the Railtie initialization hook.



47
48
49
# File 'lib/mysql/search.rb', line 47

def load_source_classes!
  source_classes
end

.register_format(name) ⇒ Object



32
33
34
# File 'lib/mysql/search.rb', line 32

def register_format(name, &)
  Utils::Formatter.register(name, &)
end

.search_index_class ⇒ Object



36
37
38
# File 'lib/mysql/search.rb', line 36

def search_index_class
  @search_index_class ||= search_index_class_name.constantize
end

.source_classes ⇒ Object



40
41
42
43
44
# File 'lib/mysql/search.rb', line 40

def source_classes
  Dir.glob("#{sources_path}/**/*.rb").filter_map do |file|
    file.sub("#{sources_path}/", '').sub('.rb', '').camelize.safe_constantize
  end
end