Sha256: a41c03bb2b55d48e84df1fa46487c8d20f8bde7586724612884c6d0838647e2c

Contents?: true

Size: 651 Bytes

Versions: 16

Compression:

Stored size: 651 Bytes

Contents

# frozen_string_literal: true

module Lcms
  module Engine
    class SearchInteractor < BaseInteractor
      attr_reader :props

      def run
        @props = pagination.serialize(documents, serializer).merge(filterbar.props)
      end

      private

      def filterbar
        @filterbar ||= Filterbar.new(params)
      end

      def pagination
        @pagination ||= Pagination.new(params)
      end

      def serializer
        SearchDocumentSerializer
      end

      def documents
        Search::Document
          .search(filterbar.search_term, filterbar.search_params)
          .paginate(pagination.params)
      end
    end
  end
end

Version data entries

16 entries across 16 versions & 1 rubygems

Version Path
lcms-engine-0.5.5 app/interactors/lcms/engine/search_interactor.rb
lcms-engine-0.5.4 app/interactors/lcms/engine/search_interactor.rb
lcms-engine-0.5.3 app/interactors/lcms/engine/search_interactor.rb
lcms-engine-0.5.2 app/interactors/lcms/engine/search_interactor.rb
lcms-engine-0.5.1 app/interactors/lcms/engine/search_interactor.rb
lcms-engine-0.5.0 app/interactors/lcms/engine/search_interactor.rb
lcms-engine-0.4.2 app/interactors/lcms/engine/search_interactor.rb
lcms-engine-0.4.1 app/interactors/lcms/engine/search_interactor.rb
lcms-engine-0.4.0 app/interactors/lcms/engine/search_interactor.rb
lcms-engine-0.3.1 app/interactors/lcms/engine/search_interactor.rb
lcms-engine-0.1.4 app/interactors/lcms/engine/search_interactor.rb
lcms-engine-0.3.0 app/interactors/lcms/engine/search_interactor.rb
lcms-engine-0.1.3 app/interactors/lcms/engine/search_interactor.rb
lcms-engine-0.2.0 app/interactors/lcms/engine/search_interactor.rb
lcms-engine-0.1.2 app/interactors/lcms/engine/search_interactor.rb
lcms-engine-0.1.0 app/interactors/lcms/engine/search_interactor.rb