Sha256: 86025e0334031e33fad4f2910f246fd10304c0adf0a5bbabc6c001c165f8e3bc

Contents?: true

Size: 637 Bytes

Versions: 5

Compression:

Stored size: 637 Bytes

Contents

module Udongo
  module Forms
    class SubmissionFilter
      attr_reader :params

      def initialize(form, params = {})
        @form = form
        @params = params || {}
      end

      def fields
        Udongo.config.forms.send(@form.identifier).filter_fields
      end

      def result
        data = FormSubmissionData.all

        params.each do |key,value|
          next if value.blank?
          data = data.where(name: key).where('value REGEXP ?', value)
        end

        FormSubmission.where(id: data.pluck(:submission_id).uniq)
      end

      def self.search(*args)
        new(*args)
      end
    end
  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
udongo-2.0.4 lib/udongo/forms/submission_filter.rb
udongo-2.0.3 lib/udongo/forms/submission_filter.rb
udongo-2.0.2 lib/udongo/forms/submission_filter.rb
udongo-2.0.1 lib/udongo/forms/submission_filter.rb
udongo-2.0.0 lib/udongo/forms/submission_filter.rb