Fix for using Riak with http_url_encoding config enabled

This commit is contained in:
Garret Alfert 2013-06-14 18:49:26 +02:00
parent 95f24beef7
commit 73336ed5bc
2 changed files with 5 additions and 5 deletions

View File

@ -156,7 +156,7 @@ module RemoteStorage
directory_index = directory == "" ? "/" : directory directory_index = directory == "" ? "/" : directory
object.indexes.merge!({:user_id_bin => [user], object.indexes.merge!({:user_id_bin => [user],
:directory_bin => [CGI.escape(directory_index)]}) :directory_bin => [directory_index]})
object object
end end
@ -236,14 +236,14 @@ module RemoteStorage
listing = {} listing = {}
sub_directories(user, directory).each do |entry| sub_directories(user, directory).each do |entry|
directory_name = CGI.unescape(entry["name"]).split("/").last directory_name = entry["name"].split("/").last
timestamp = entry["timestamp"].to_i timestamp = entry["timestamp"].to_i
listing.merge!({ "#{directory_name}/" => timestamp }) listing.merge!({ "#{directory_name}/" => timestamp })
end end
directory_entries(user, directory).each do |entry| directory_entries(user, directory).each do |entry|
entry_name = CGI.unescape(entry["name"]) entry_name = entry["name"]
timestamp = if entry["timestamp"] timestamp = if entry["timestamp"]
entry["timestamp"].to_i entry["timestamp"].to_i
else else
@ -339,7 +339,7 @@ module RemoteStorage
directory_object.data = timestamp.to_s directory_object.data = timestamp.to_s
directory_object.indexes.merge!({:user_id_bin => [user]}) directory_object.indexes.merge!({:user_id_bin => [user]})
if parent_directory if parent_directory
directory_object.indexes.merge!({:directory_bin => [CGI.escape(parent_directory)]}) directory_object.indexes.merge!({:directory_bin => [parent_directory]})
end end
directory_object.store directory_object.store
end end

View File

@ -297,7 +297,7 @@ describe "Directories" do
put "/jimmy/tasks/home/trash", "take out the trash" put "/jimmy/tasks/home/trash", "take out the trash"
object = directory_bucket.get("jimmy:tasks") object = directory_bucket.get("jimmy:tasks")
object.indexes["directory_bin"].must_include CGI.escape("/") object.indexes["directory_bin"].must_include "/"
object.data.wont_be_nil object.data.wont_be_nil
object = directory_bucket.get("jimmy:") object = directory_bucket.get("jimmy:")