Sha256: ee87e0e80046ef0f982bca930e070a6bef1d6d643ec4668d3f8fa91edcb23a54

Contents?: true

Size: 819 Bytes

Versions: 2

Compression:

Stored size: 819 Bytes

Contents

module ReportsKits
  module Reports
    class GenerateAutocompleteMethodResults
      attr_accessor :filter_key, :params, :properties

      def initialize(filter_key, properties, params)
        self.filter_key = filter_key
        self.params = params
        self.properties = properties
      end

      def perform
        return unless properties[:ui_filters]
        klass, method_name = ReportsKits::Utils.string_to_class_method(autocomplete_method, 'autocomplete_method')
        klass.public_send(method_name, params, properties)
      end

      private

      def filter_hash
        properties[:ui_filters].find { |filter_params| filter_params.is_a?(Hash) && filter_params[:key] == filter_key }
      end

      def autocomplete_method
        filter_hash[:autocomplete_method]
      end
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
reports_kits-0.7.8 lib/reports_kits/reports/generate_autocomplete_method_results.rb
reports_kits-0.7.7 lib/reports_kits/reports/generate_autocomplete_method_results.rb