Sha256: bfd4f2706b3d36e3dcfb5b92451d9fd4bfae8d8c5a344a6431ac08ea377b2a11

Contents?: true

Size: 747 Bytes

Versions: 3

Compression:

Stored size: 747 Bytes

Contents

module Alchemy::PgSearch::ContentExtension
  module ClassMethods
    def new(attributes)
      element = attributes[:element]
      definition = element.content_definition_for(attributes[:name])
      super.tap do |content|
        content.searchable = definition.key?(:searchable) ? definition[:searchable] : true
      end
    end

    Alchemy::Content.singleton_class.prepend self
  end

  module InstanceMethods
    def searchable_ingredient
      case essence_type
      when "Alchemy::EssencePicture"
        essence.caption
      when "Alchemy::EssenceRichtext"
        essence.stripped_body
      when "Alchemy::EssenceText"
        essence.body
      else
        ingredient
      end
    end

    Alchemy::Content.prepend self
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
alchemy-pg_search-2.4.0 lib/alchemy/pg_search/content_extension.rb
alchemy-pg_search-2.3.0 lib/alchemy/pg_search/content_extension.rb
alchemy-pg_search-2.2.0 lib/alchemy/pg_search/content_extension.rb