class Pansophy::Local::Directory
Public Class Methods
new(path)
click to toggle source
# File lib/pansophy/local/directory.rb, line 6 def initialize(path) @path = path verify_directory! end
Public Instance Methods
create(options)
click to toggle source
# File lib/pansophy/local/directory.rb, line 20 def create(options) remove(options) pathname.mkpath end
create_file(path, body, options = {})
click to toggle source
# File lib/pansophy/local/directory.rb, line 25 def create_file(path, body, options = {}) CreateFile.new(pathname.join(path), body).call(options) end
files()
click to toggle source
# File lib/pansophy/local/directory.rb, line 16 def files entries.select(&:file?).map { |file| File.new(file) } end
pathname()
click to toggle source
# File lib/pansophy/local/directory.rb, line 11 def pathname Pathname.new(@path) end
Private Instance Methods
entries()
click to toggle source
# File lib/pansophy/local/directory.rb, line 31 def entries Dir[pathname.join('**/*')].map { |entry| Pathname.new(entry) } end
prevent_overwrite!()
click to toggle source
# File lib/pansophy/local/directory.rb, line 47 def prevent_overwrite! fail ArgumentError, "#{pathname} already exists, pass ':overwrite => true' to overwrite" end
remove(options)
click to toggle source
# File lib/pansophy/local/directory.rb, line 41 def remove(options) return unless pathname.exist? prevent_overwrite! unless options[:overwrite] pathname.rmtree end
verify_directory!()
click to toggle source
# File lib/pansophy/local/directory.rb, line 36 def verify_directory! return if pathname.directory? || !pathname.exist? fail ArgumentError, "#{pathname} is not a directory" end