Module: Alchemy::PgSearch

Extended by:
Config
Defined in:
lib/alchemy-pg_search.rb,
lib/alchemy/pg_search/config.rb,
lib/alchemy/pg_search/engine.rb,
lib/alchemy/pg_search/search.rb,
lib/alchemy/pg_search/version.rb,
app/jobs/alchemy/pg_search/index_page_job.rb,
app/helpers/alchemy/pg_search/search_helper.rb,
app/controller/alchemy/pg_search/controller_methods.rb,
lib/generators/alchemy/pg_search/views/views_generator.rb,
lib/generators/alchemy/pg_search/install/install_generator.rb

Defined Under Namespace

Modules: Config, ContentExtension, ControllerMethods, ElementExtension, EssencePictureExtension, EssenceRichtextExtension, EssenceTextExtension, IngredientExtension, PageExtension, PgSearchDocumentExtension, Search, SearchHelper Classes: Engine, IndexPageJob, InstallGenerator, ViewsGenerator

Constant Summary collapse

SEARCHABLE_INGREDIENTS =
%w[Text Richtext Picture]
VERSION =
"4.2.0"

Class Method Summary collapse

Methods included from Config

config, config=

Class Method Details

.is_searchable?(essence_type) ⇒ boolean

is essence or ingredient searchable?

Parameters:

  • essence_type (string)

Returns:

  • (boolean)


15
16
17
# File 'lib/alchemy-pg_search.rb', line 15

def self.is_searchable?(essence_type)
  SEARCHABLE_INGREDIENTS.include?(essence_type.gsub(/Alchemy::(Essence|Ingredients::)/, ""))
end

.rebuildObject

index all supported Alchemy models



38
39
40
# File 'lib/alchemy-pg_search.rb', line 38

def self.rebuild
  Search.rebuild
end

.search(query, ability: nil) ⇒ ActiveRecord::Relation

search for page results

Parameters:

  • query (string)
  • ability (nil|CanCan::Ability) (defaults to: nil)

Returns:

  • (ActiveRecord::Relation)


32
33
34
# File 'lib/alchemy-pg_search.rb', line 32

def self.search(query, ability: nil)
  Search.search(query, ability: ability)
end

.searchable_essence_classesarray

generate an array of all supported essences classes

Returns:

  • (array)


22
23
24
# File 'lib/alchemy-pg_search.rb', line 22

def self.searchable_essence_classes
  SEARCHABLE_INGREDIENTS.map { |k| "Alchemy::Essence#{k.classify}".constantize }
end