Class: Roast::Resources::DirectoryResource

Inherits:
BaseResource show all
Defined in:
lib/roast/resources/directory_resource.rb

Overview

Resource implementation for directories

Instance Attribute Summary

Attributes inherited from BaseResource

#target

Instance Method Summary collapse

Methods inherited from BaseResource

#initialize

Constructor Details

This class inherits a constructor from Roast::Resources::BaseResource

Instance Method Details

#contentsObject



20
21
22
23
24
25
# File 'lib/roast/resources/directory_resource.rb', line 20

def contents
  # Return a listing of files in the directory
  if exists?
    Dir.entries(target).reject { |f| f == "." || f == ".." }.join("\n")
  end
end

#exists?Boolean

Returns:

  • (Boolean)


16
17
18
# File 'lib/roast/resources/directory_resource.rb', line 16

def exists?
  Dir.exist?(target)
end

#nameObject



27
28
29
30
31
32
33
# File 'lib/roast/resources/directory_resource.rb', line 27

def name
  if target
    File.basename(target) + "/"
  else
    "Unnamed Directory"
  end
end

#processObject



7
8
9
10
11
12
13
14
# File 'lib/roast/resources/directory_resource.rb', line 7

def process
  if target.include?("*") || target.include?("?")
    # If it's a glob pattern, return only directories
    Dir.glob(target).select { |f| Dir.exist?(f) }.map { |d| File.expand_path(d) }.join("\n")
  else
    File.expand_path(target)
  end
end

#typeObject



35
36
37
# File 'lib/roast/resources/directory_resource.rb', line 35

def type
  :directory
end