Class: Algorithmia::DataDirectory

Inherits:
DataObject show all
Defined in:
lib/algorithmia/data_directory.rb

Instance Attribute Summary

Attributes inherited from DataObject

#data_uri

Instance Method Summary collapse

Methods inherited from DataObject

#basename, #initialize, #parent

Constructor Details

This class inherits a constructor from Algorithmia::DataObject

Instance Method Details

#createObject



13
14
15
16
17
# File 'lib/algorithmia/data_directory.rb', line 13

def create
  parent, name = File.split(@url)
  Algorithmia::Requester.new(@client).post(parent, name: name)
  true
end

#delete(force = false) ⇒ Object



19
20
21
22
23
24
# File 'lib/algorithmia/data_directory.rb', line 19

def delete(force = false)
  query = {}
  query[:force] = true if force
  Algorithmia::Requester.new(@client).delete(@url, query: query)
  true
end

#each(&block) ⇒ Object



26
27
28
29
30
31
32
# File 'lib/algorithmia/data_directory.rb', line 26

def each(&block)
  return enum_for(:each) unless block_given?

  list(block) do |dir|
    extract_files(dir) + extract_folders(dir)
  end
end

#each_dir(&block) ⇒ Object



42
43
44
45
46
47
48
# File 'lib/algorithmia/data_directory.rb', line 42

def each_dir(&block)
  return enum_for(:each_dir) unless block_given?

  list(block) do |dir|
    extract_folders(dir)
  end
end

#each_file(&block) ⇒ Object



34
35
36
37
38
39
40
# File 'lib/algorithmia/data_directory.rb', line 34

def each_file(&block)
  return enum_for(:each_file) unless block_given?

  list(block) do |dir|
    extract_files(dir)
  end
end

#exists?Boolean

Returns:

  • (Boolean)


6
7
8
9
10
11
# File 'lib/algorithmia/data_directory.rb', line 6

def exists?
  Algorithmia::Requester.new(@client).get(@url)
  true
rescue Errors::NotFoundError
  false
end

#file(file_name) ⇒ Object



50
51
52
# File 'lib/algorithmia/data_directory.rb', line 50

def file(file_name)
  @client.file(URI.encode(File.join(@data_uri, file_name)))
end

#put_file(file_path) ⇒ Object



54
55
56
# File 'lib/algorithmia/data_directory.rb', line 54

def put_file(file_path)
  file(File.basename(file_path)).put_file(file_path)
end