Sha256: 19e05308aaece02d068dc0873b07a18298bfe8ac1d1da1497a3bbd6d836e3255

Contents?: true

Size: 1 KB

Versions: 6

Compression:

Stored size: 1 KB

Contents

# -*- encoding : utf-8 -*-
require 'search/conditions/abstract'
require 'search/where'

module RademadeAdmin
  module Search
    module Conditions
      class Autocomplete < Abstract

        include RademadeAdmin::Search::Where

        protected

        def where
          @where_conditions = RademadeAdmin::Search::Part::Where.new(:and)
          regex_filter(@where_conditions, @params[:q])
          append_search_params
          append_ids_params
          @where_conditions
        end

        def limit
          10
        end

        private

        def append_search_params
          if @params[:search].present?
            @params[:search].each do |key, value|
              @where_conditions.add(key.to_sym, value) if @data_items.origin_fields.include? key.to_s
            end
          end
        end

        def append_ids_params
          if @params[:ids].present?
            @where_conditions.add(@data_items.primary_field.name, @params[:ids])
          end
        end

      end
    end
  end
end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
rademade_admin-0.2.2 app/services/search/conditions/autocomplete.rb
rademade_admin-0.2.1 app/services/search/conditions/autocomplete.rb
rademade_admin-0.2.0 app/services/search/conditions/autocomplete.rb
rademade_admin-0.1.6 app/services/search/conditions/autocomplete.rb
rademade_admin-0.1.5 app/services/search/conditions/autocomplete.rb
rademade_admin-0.1.4 app/services/search/conditions/autocomplete.rb