Change method name and make it private
This commit is contained in:
parent
36b20aa6a9
commit
7cbccb16b9
@ -72,37 +72,12 @@ module RemoteStorage
|
|||||||
:directory_bin => [category]})
|
:directory_bin => [category]})
|
||||||
object.store
|
object.store
|
||||||
|
|
||||||
create_parent_directory_objects(user, category)
|
create_missing_directory_objects(user, category)
|
||||||
update_directory_object(user, category)
|
update_directory_object(user, category)
|
||||||
rescue ::Riak::HTTPFailedRequest
|
rescue ::Riak::HTTPFailedRequest
|
||||||
halt 422
|
halt 422
|
||||||
end
|
end
|
||||||
|
|
||||||
def create_parent_directory_objects(user, category)
|
|
||||||
parent_directories = category.split("/")
|
|
||||||
parent_directories.pop
|
|
||||||
while parent_directories.any?
|
|
||||||
directory = parent_directories.join("/")
|
|
||||||
unless directory_bucket.exist?("#{user}:#{directory}")
|
|
||||||
update_directory_object(user, directory)
|
|
||||||
end
|
|
||||||
parent_directories.pop
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
def update_directory_object(user, category)
|
|
||||||
if category.match /\//
|
|
||||||
parent_directory = category[0..category.rindex("/")-1]
|
|
||||||
end
|
|
||||||
directory = directory_bucket.new("#{user}:#{category}")
|
|
||||||
directory.raw_data = ""
|
|
||||||
directory.indexes.merge!({:user_id_bin => [user]})
|
|
||||||
if parent_directory
|
|
||||||
directory.indexes.merge!({:directory_bin => [parent_directory]})
|
|
||||||
end
|
|
||||||
directory.store
|
|
||||||
end
|
|
||||||
|
|
||||||
def delete_data(user, category, key)
|
def delete_data(user, category, key)
|
||||||
riak_response = data_bucket.delete("#{user}:#{category}:#{key}")
|
riak_response = data_bucket.delete("#{user}:#{category}:#{key}")
|
||||||
if directory_entries(user, category).empty?
|
if directory_entries(user, category).empty?
|
||||||
@ -193,5 +168,30 @@ module RemoteStorage
|
|||||||
run
|
run
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def create_missing_directory_objects(user, category)
|
||||||
|
parent_directories = category.split("/")
|
||||||
|
parent_directories.pop
|
||||||
|
while parent_directories.any?
|
||||||
|
directory = parent_directories.join("/")
|
||||||
|
unless directory_bucket.exist?("#{user}:#{directory}")
|
||||||
|
update_directory_object(user, directory)
|
||||||
|
end
|
||||||
|
parent_directories.pop
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
def update_directory_object(user, category)
|
||||||
|
if category.match /\//
|
||||||
|
parent_directory = category[0..category.rindex("/")-1]
|
||||||
|
end
|
||||||
|
directory = directory_bucket.new("#{user}:#{category}")
|
||||||
|
directory.raw_data = ""
|
||||||
|
directory.indexes.merge!({:user_id_bin => [user]})
|
||||||
|
if parent_directory
|
||||||
|
directory.indexes.merge!({:directory_bin => [parent_directory]})
|
||||||
|
end
|
||||||
|
directory.store
|
||||||
|
end
|
||||||
|
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
Loading…
x
Reference in New Issue
Block a user