class ActiveFolder::Metal::Adapters::Local

Public Class Methods

new(config) click to toggle source
# File lib/activefolder/metal/adapters/local.rb, line 9
def initialize(config)
  @config = config
end

Public Instance Methods

glob(path) click to toggle source
# File lib/activefolder/metal/adapters/local.rb, line 39
def glob(path)
  paths = Dir.glob full_path(path)
  paths.map { |p| relative_path(p) }
rescue SystemCallError => e
  raise SystemError.new(e)
end
mkdir_p(path) click to toggle source
# File lib/activefolder/metal/adapters/local.rb, line 27
def mkdir_p(path)
  FileUtils.mkdir_p full_path(path)
rescue SystemCallError => e
  raise SystemError.new(e)
end
read(path) click to toggle source
# File lib/activefolder/metal/adapters/local.rb, line 13
def read(path)
  File.read full_path(path)
rescue Errno::ENOENT => e
  raise NotFoundError.new(e)
rescue SystemCallError => e
  raise SystemError.new(e)
end
rm_r(path) click to toggle source
# File lib/activefolder/metal/adapters/local.rb, line 33
def rm_r(path)
  FileUtils.rm_r full_path(path)
rescue SystemCallError => e
  raise SystemError.new(e)
end
write(path, data) click to toggle source
# File lib/activefolder/metal/adapters/local.rb, line 21
def write(path, data)
  File.write(full_path(path), data)
rescue SystemCallError => e
  raise SystemError.new(e)
end

Private Instance Methods

full_path(path) click to toggle source
# File lib/activefolder/metal/adapters/local.rb, line 48
def full_path(path)
  File.join(@config.root_path, path)
end
relative_path(path) click to toggle source
# File lib/activefolder/metal/adapters/local.rb, line 52
def relative_path(path)
  path.sub(@config.root_path, '')
end