module Rubytus::StorageHelper
Public Instance Methods
file_path(uid)
click to toggle source
# File lib/rubytus/storage.rb, line 32 def file_path(uid) File.join(@options[:data_dir], "#{uid}.bin") end
info_path(uid)
click to toggle source
# File lib/rubytus/storage.rb, line 36 def info_path(uid) File.join(@options[:data_dir], "#{uid}.info") end
validates_data_dir(data_dir)
click to toggle source
# File lib/rubytus/storage.rb, line 8 def validates_data_dir(data_dir) if Pathname.new(data_dir).relative? data_dir = File.join(ENV['PWD'], data_dir) end begin unless File.directory?(data_dir) Dir.mkdir(data_dir) end rescue SystemCallError => _ raise PermissionError, "Couldn't create `data_dir` in #{data_dir}" end unless File.world_writable?(data_dir) begin File.chmod(0777, data_dir) rescue Errno::EPERM raise PermissionError, "Couldn't make `data_dir` in #{data_dir} writable" end end data_dir end