Class: Pho::FileManagement::FileManager

Inherits:
AbstractFileManager show all
Defined in:
lib/pho/file_manager.rb

Constant Summary

Constants inherited from AbstractFileManager

AbstractFileManager::FAIL, AbstractFileManager::OK

Instance Attribute Summary collapse

Attributes inherited from AbstractFileManager

#dir, #store

Class Method Summary collapse

Instance Method Summary collapse

Methods inherited from AbstractFileManager

#failures, #get_fail_file_for, #get_ok_file_for, #new_files, #reset, #retry_failures, #successes, #summary

Constructor Details

#initialize(store, dir, base = nil, ok_suffix = OK, fail_suffix = FAIL, sleep = 1) ⇒ FileManager

Returns a new instance of FileManager.



11
12
13
14
# File 'lib/pho/file_manager.rb', line 11

def initialize(store, dir, base = nil, ok_suffix=OK, fail_suffix=FAIL, sleep=1)
  super(store, dir, ok_suffix, fail_suffix, sleep)
  @base = base
end

Instance Attribute Details

#baseObject (readonly)

Returns the value of attribute base.



9
10
11
# File 'lib/pho/file_manager.rb', line 9

def base
  @base
end

Class Method Details

.name_for_file(dir, file, base = nil) ⇒ Object



32
33
34
35
36
# File 'lib/pho/file_manager.rb', line 32

def FileManager.name_for_file(dir, file, base=nil)
  uri = file.path.gsub(dir, "")
  uri = "#{base}#{uri}" if base != nil
  return uri
end

Instance Method Details

#list(recursive = false) ⇒ Object

List files being managed, i.e. everything not .ok or .fail



17
18
19
20
21
22
23
24
25
26
27
28
29
30
# File 'lib/pho/file_manager.rb', line 17

def list(recursive=false)          
    files = []
    if recursive
      pattern = "**/*"
    else
      pattern = "*"
    end
    Dir.glob( File.join(@dir, pattern) ) do |file|
      if File.extname(file) != ".#{@ok_suffix}" && File.extname(file) != ".#{@fail_suffix}" && !File.directory?(file)
        files << file
      end
    end  
    return files
end