Sha256: a3a43dede37d428f79fd7da56e2759eeaba7031d943d121b6d2027d37f564d8e

Contents?: true

Size: 733 Bytes

Versions: 75

Compression:

Stored size: 733 Bytes

Contents

module Pageflow
  # @api private
  class EntryTitleOrAccountNameQuery < ApplicationQuery
    class Scope < Scope
      def initialize(term, scope)
        @term = term
        @scope = scope
      end

      def resolve
        scope
          .joins(:account)
          .references(:pageflow_accounts)
          .where(word_conditions(term))
      end

      private

      attr_reader :term, :scope

      def word_conditions(term)
        term.split(' ').map { |word|
          word_condition(word)
        }.join(' AND ')
      end

      def word_condition(word)
        sanitize_sql('(pageflow_entries.title LIKE :word OR pageflow_accounts.name LIKE :word)',
                     word: "%#{word}%")
      end
    end
  end
end

Version data entries

75 entries across 75 versions & 1 rubygems

Version Path
pageflow-17.0.4 app/models/pageflow/entry_title_or_account_name_query.rb
pageflow-17.0.3 app/models/pageflow/entry_title_or_account_name_query.rb
pageflow-17.0.2 app/models/pageflow/entry_title_or_account_name_query.rb
pageflow-17.0.1 app/models/pageflow/entry_title_or_account_name_query.rb
pageflow-17.0.0 app/models/pageflow/entry_title_or_account_name_query.rb
pageflow-16.2.0 app/models/pageflow/entry_title_or_account_name_query.rb
pageflow-16.1.0 app/models/pageflow/entry_title_or_account_name_query.rb
pageflow-16.0.0 app/models/pageflow/entry_title_or_account_name_query.rb
pageflow-15.8.0 app/models/pageflow/entry_title_or_account_name_query.rb
pageflow-14.5.2 app/models/pageflow/entry_title_or_account_name_query.rb
pageflow-15.7.1 app/models/pageflow/entry_title_or_account_name_query.rb
pageflow-15.7.0 app/models/pageflow/entry_title_or_account_name_query.rb
pageflow-15.6.1 app/models/pageflow/entry_title_or_account_name_query.rb
pageflow-15.6.0 app/models/pageflow/entry_title_or_account_name_query.rb
pageflow-15.5.0 app/models/pageflow/entry_title_or_account_name_query.rb
pageflow-15.4.0 app/models/pageflow/entry_title_or_account_name_query.rb
pageflow-15.3.0 app/models/pageflow/entry_title_or_account_name_query.rb
pageflow-15.2.2 app/models/pageflow/entry_title_or_account_name_query.rb
pageflow-15.2.1 app/models/pageflow/entry_title_or_account_name_query.rb
pageflow-15.2.0 app/models/pageflow/entry_title_or_account_name_query.rb