Class: S3cmdAdapter
- Inherits:
-
Object
show all
- Includes:
- System
- Defined in:
- lib/s3_adapters/s3cmd_adapter.rb
Instance Method Summary
collapse
Methods included from System
clean, db_credentials, hostname, prompt, run, tarzip_folders, unzip_file
Constructor Details
Returns a new instance of S3cmdAdapter.
5
6
7
8
|
# File 'lib/s3_adapters/s3cmd_adapter.rb', line 5
def initialize(config)
@config = config
@connected = false
end
|
Instance Method Details
#delete(file_name) ⇒ Object
28
29
30
31
32
33
34
35
|
# File 'lib/s3_adapters/s3cmd_adapter.rb', line 28
def delete(file_name)
begin
System.run("s3cmd del s3://#{bucket}/#{file_name}")
rescue
raise "Could not delete #{file_name}."
end
end
|
#ensure_connected ⇒ Object
10
11
12
13
14
|
# File 'lib/s3_adapters/s3cmd_adapter.rb', line 10
def ensure_connected
return if @connected
System.run("s3cmd mb s3://#{bucket}")
@connected = true
end
|
#fetch(file_name) ⇒ Object
21
22
23
24
25
26
|
# File 'lib/s3_adapters/s3cmd_adapter.rb', line 21
def fetch(file_name)
ensure_connected
file = Tempfile.new("temp")
System.run("s3cmd get --force s3://#{bucket}/#{file_name} #{file.path}")
file
end
|
#store(file_name, file) ⇒ Object
16
17
18
19
|
# File 'lib/s3_adapters/s3cmd_adapter.rb', line 16
def store(file_name, file)
ensure_connected
System.run("s3cmd put #{file.path} s3://#{bucket}/#{file_name}")
end
|