module StoreAgent::Node::PathValidator
オブジェクトの操作時に、パスが不正でないかをチェックするモジュール
Public Instance Methods
chown(*)
click to toggle source
Calls superclass method
# File lib/store_agent/node/prepend_module/path_validator.rb, line 84 def chown(*) be_present! be_not_reserved! super end
copy(dest_path = nil, *)
click to toggle source
TODO
Calls superclass method
# File lib/store_agent/node/prepend_module/path_validator.rb, line 58 def copy(dest_path = nil, *) be_present! be_not_reserved! super end
create(*)
click to toggle source
Calls superclass method
# File lib/store_agent/node/prepend_module/path_validator.rb, line 21 def create(*) if !root? parent_directory.be_present! end be_absent! be_not_reserved! super end
delete(*)
click to toggle source
Calls superclass method
# File lib/store_agent/node/prepend_module/path_validator.rb, line 44 def delete(*) be_present! be_not_root! be_not_reserved! super end
move(dest_path = nil, *)
click to toggle source
TODO
Calls superclass method
# File lib/store_agent/node/prepend_module/path_validator.rb, line 65 def move(dest_path = nil, *) be_present! be_not_root! be_not_reserved! super end
read(*, revision: nil)
click to toggle source
Calls superclass method
# File lib/store_agent/node/prepend_module/path_validator.rb, line 30 def read(*, revision: nil) if revision.nil? be_present! end be_not_reserved! super end
set_permission(*)
click to toggle source
Calls superclass method
# File lib/store_agent/node/prepend_module/path_validator.rb, line 90 def set_permission(*) be_present! be_not_reserved! super end
touch(*)
click to toggle source
Calls superclass method
# File lib/store_agent/node/prepend_module/path_validator.rb, line 51 def touch(*) be_present! be_not_reserved! super end
unset_permission(*)
click to toggle source
Calls superclass method
# File lib/store_agent/node/prepend_module/path_validator.rb, line 96 def unset_permission(*) be_present! be_not_reserved! super end
update(*)
click to toggle source
Calls superclass method
# File lib/store_agent/node/prepend_module/path_validator.rb, line 38 def update(*) be_present! be_not_reserved! super end
Protected Instance Methods
be_absent!()
click to toggle source
# File lib/store_agent/node/prepend_module/path_validator.rb, line 110 def be_absent! if exists? raise StoreAgent::InvalidPathError, "object already exists: #{path}" end end
be_not_reserved!()
click to toggle source
# File lib/store_agent/node/prepend_module/path_validator.rb, line 122 def be_not_reserved! basename = File.basename(path) reserved_extensions = [] << StoreAgent.config.metadata_extension << StoreAgent.config.permission_extension reserved_extensions.each do |extension| if basename.end_with?(extension) raise StoreAgent::InvalidPathError, "extension '#{extension}' is reserved" end end if StoreAgent.reserved_filenames.include?(basename) raise StoreAgent::InvalidPathError, "filename '#{basename}' is reserved" end end
be_not_root!()
click to toggle source
# File lib/store_agent/node/prepend_module/path_validator.rb, line 116 def be_not_root! if root? raise StoreAgent::InvalidPathError, "can't delete root node" end end
be_present!()
click to toggle source
# File lib/store_agent/node/prepend_module/path_validator.rb, line 104 def be_present! if !exists? raise StoreAgent::InvalidPathError, "object not found: #{path}" end end