Module: Alchemy::Search::ElementExtension

Defined in:
app/extensions/alchemy/search/element_extension.rb

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.prepended(base) ⇒ Object



2
3
4
# File 'app/extensions/alchemy/search/element_extension.rb', line 2

def self.prepended(base)
  base.attr_writer :searchable
end

Instance Method Details

#parent_elements_searchable?Boolean

Returns:

  • (Boolean)


18
19
20
# File 'app/extensions/alchemy/search/element_extension.rb', line 18

def parent_elements_searchable?
  parent_element.nil? || (parent_element.searchable && parent_element.public? && parent_element.parent_elements_searchable?)
end

#searchableObject



6
7
8
# File 'app/extensions/alchemy/search/element_extension.rb', line 6

def searchable
  definition.searchable
end

#searchable?Boolean

Returns:

  • (Boolean)


10
11
12
# File 'app/extensions/alchemy/search/element_extension.rb', line 10

def searchable?
  searchable && public? && page.searchable? && page_version.public? && parent_elements_searchable?
end

#searchable_contentObject



14
15
16
# File 'app/extensions/alchemy/search/element_extension.rb', line 14

def searchable_content
  ingredients.select(&:searchable?).map(&:searchable_content).join(" ").squish
end