From c8a581fb3181e776b5c645f7481337a9a7d83d68 Mon Sep 17 00:00:00 2001 From: Andrew Date: Fri, 10 Aug 2018 12:27:56 -0700 Subject: [PATCH] Escape data [skip ci] --- lib/searchkick/process_batch_job.rb | 2 +- lib/searchkick/record_indexer.rb | 6 ++---- 2 files changed, 3 insertions(+), 5 deletions(-) diff --git a/lib/searchkick/process_batch_job.rb b/lib/searchkick/process_batch_job.rb index af42226..3cca7ef 100644 --- a/lib/searchkick/process_batch_job.rb +++ b/lib/searchkick/process_batch_job.rb @@ -4,7 +4,7 @@ module Searchkick def perform(class_name:, record_ids:) # separate routing from id - routing = Hash[record_ids.map { |r| r.split("|", 2) }] + routing = Hash[record_ids.map { |r| r.split("|").map { |v| CGI.unescape(v) } }] record_ids = routing.keys klass = class_name.constantize diff --git a/lib/searchkick/record_indexer.rb b/lib/searchkick/record_indexer.rb index 73ec6cc..2f01444 100644 --- a/lib/searchkick/record_indexer.rb +++ b/lib/searchkick/record_indexer.rb @@ -26,10 +26,8 @@ module Searchkick routing = record.search_routing end - # TODO before merge - # escape separator character - value = record.id.to_s - value = "#{value}|#{routing}" if routing + value = CGI.escape(record.id.to_s) + value = "#{value}|#{CGI.escape(routing)}" if routing index.reindex_queue.push(value) when :async unless defined?(ActiveJob) -- libgit2 0.21.0