class S3cmdAdapter
Public Class Methods
new(config)
click to toggle source
# File lib/s3_adapters/s3cmd_adapter.rb, line 5 def initialize(config) @config = config @connected = false end
Public Instance Methods
delete(file_name)
click to toggle source
# File lib/s3_adapters/s3cmd_adapter.rb, line 28 def delete(file_name) #TODO use s3cmd ls here to create 'find' like functionality similar to aws_adapter begin System.run("s3cmd del s3://#{bucket}/#{file_name}") rescue raise "Could not delete #{file_name}." end end
ensure_connected()
click to toggle source
# 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)
click to toggle source
# 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)
click to toggle source
# 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
Private Instance Methods
bucket()
click to toggle source
TODO move to abstract class
# File lib/s3_adapters/s3cmd_adapter.rb, line 40 def bucket @bucket ||= System.clean("#{System.db_credentials['database'].downcase}-ON-#{System.hostname.downcase}") end