Class: Fog::Storage::Local::Files
- Inherits:
-
Collection
- Object
- Collection
- Fog::Storage::Local::Files
- Defined in:
- lib/fog/local/models/storage/files.rb
Instance Method Summary collapse
Instance Method Details
#all ⇒ Object
12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 |
# File 'lib/fog/local/models/storage/files.rb', line 12 def all requires :directory if directory.collection.get(directory.key) data = [] Dir.chdir(service.path_to(directory.key)) { data = Dir.glob('**/*').reject do |file| ::File.directory?(file) end.map do |key| path = file_path(key) { :content_length => ::File.size(path), :key => key, :last_modified => ::File.mtime(path) } end } load(data) else nil end end |
#get(key, &block) ⇒ Object
34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 |
# File 'lib/fog/local/models/storage/files.rb', line 34 def get(key, &block) requires :directory path = file_path(key) if ::File.exist?(path) data = { :content_length => ::File.size(path), :key => key, :last_modified => ::File.mtime(path) } if block_given? file = ::File.open(path) while (chunk = file.read(Excon::CHUNK_SIZE)) && yield(chunk); end file.close new(data) else body = ::File.read(path) new(data.merge!(:body => body)) end else nil end end |
#head(key) ⇒ Object
57 58 59 60 61 62 63 64 65 66 67 68 69 |
# File 'lib/fog/local/models/storage/files.rb', line 57 def head(key) requires :directory path = file_path(key) if ::File.exist?(path) new({ :content_length => ::File.size(path), :key => key, :last_modified => ::File.mtime(path) }) else nil end end |
#new(attributes = {}) ⇒ Object
71 72 73 74 |
# File 'lib/fog/local/models/storage/files.rb', line 71 def new(attributes = {}) requires :directory super({ :directory => directory }.merge!(attributes)) end |