Sha256: ac24cda394f8ec5a4195b7501ccf5e0d7163e69a96500b3014de126eec7d184c
Contents?: true
Size: 1.05 KB
Versions: 11
Compression:
Stored size: 1.05 KB
Contents
# frozen_string_literal: true module BaseEditingBootstrap::Searches ## # PORO per la gestione dei metodi associati alla ricerca. class Base include ActiveModel::Naming include ActiveModel::Conversion attr_reader :model_klass, :user, :params, :scope # @param [User] user # @param [ActiveRecord::Associations::CollectionProxy] scope def initialize(scope, user, params: {page: nil}) @model_klass = scope.klass @user = user @scope = scope @params = params end ## # Risultato della ricerca, fa da pipeline verso ransack def results ransack_query .result(distinct: true) .order(:id) .page(params[:page]) end def ransack_query scope .ransack(params[:q], auth_object: user) end def search_fields Pundit.policy(@user, @model_klass).search_fields.collect { |f| Field.new(self, f) } end def search_result_fields Pundit.policy(@user, @model_klass).search_result_fields end def persisted? false end end end
Version data entries
11 entries across 11 versions & 1 rubygems