class Pansophy::Remote::Directory
Public Class Methods
new(bucket_name, path = nil)
click to toggle source
# File lib/pansophy/remote/directory.rb, line 6 def initialize(bucket_name, path = nil) @bucket_name = bucket_name @path = path.to_s end
Public Instance Methods
create(options)
click to toggle source
# File lib/pansophy/remote/directory.rb, line 20 def create(options) remove(options) directory.files.create(key: pathname.cleanpath.to_s + '/') end
create_file(path, body, options = {})
click to toggle source
# File lib/pansophy/remote/directory.rb, line 25 def create_file(path, body, options = {}) CreateFile.new(@bucket_name, pathname.join(path), body).call(options) end
files()
click to toggle source
# File lib/pansophy/remote/directory.rb, line 16 def files remote_files.map { |file| File.new(file) } end
pathname()
click to toggle source
# File lib/pansophy/remote/directory.rb, line 11 def pathname Pathname.new(@path) end
Private Instance Methods
directory()
click to toggle source
# File lib/pansophy/remote/directory.rb, line 31 def directory ReadDirectory.new(@bucket_name, @path).call end
directory?(file)
click to toggle source
# File lib/pansophy/remote/directory.rb, line 44 def directory?(file) file.key.end_with?('/') end
exist?()
click to toggle source
# File lib/pansophy/remote/directory.rb, line 55 def exist? !remote_entry.nil? end
prevent_overwrite!()
click to toggle source
# File lib/pansophy/remote/directory.rb, line 65 def prevent_overwrite! fail ArgumentError, "#{pathname} already exists, pass ':overwrite => true' to overwrite" end
remote_entries()
click to toggle source
# File lib/pansophy/remote/directory.rb, line 40 def remote_entries directory.files end
remote_entry()
click to toggle source
# File lib/pansophy/remote/directory.rb, line 48 def remote_entry remote_entries.find { |entry| Pathname.new(entry.key).cleanpath == pathname.cleanpath } end
remote_files()
click to toggle source
# File lib/pansophy/remote/directory.rb, line 36 def remote_files remote_entries.select { |file| !directory?(file) } end
remove(options)
click to toggle source
# File lib/pansophy/remote/directory.rb, line 59 def remove(options) return unless exist? prevent_overwrite! unless options[:overwrite] remote_entries.each(&:destroy) end