4 region: Rails.application.secrets.aws_region,
5 credentials: Aws::Credentials.new(
6 Rails.application.secrets.aws_access_key_id,
7 Rails.application.secrets.aws_secret_access_key
11 @@client = Aws::S3::Client.new
13 def initialize host_dir = 'pettanr', base_dir = ''
16 s3 = Aws::S3::Resource.new
17 @bucket = s3.bucket(@host_dir)
37 ['', 'v', 'h', 'vh', 'thumbnail']
41 sd = if subdir.to_s.empty?
49 def exist?(filename, subdir = nil)
52 res = self.bucket.object(dir(subdir) + filename).exists?
54 raise PictureIO::Error
59 def put(bindata, filename, subdir = nil)
62 @@client.put_object(bucket: self.host_dir, key: dir(subdir) + filename, body: bindata)
64 raise PictureIO::Error
69 def get(filename, subdir = nil)
72 @@client.get_object(bucket: self.host_dir, key: dir(subdir) + filename) do |st|
76 raise PictureIO::Error
81 def delete(filename, subdir = nil)
84 @@client.delete_object(bucket: self.host_dir, key: dir(subdir) + filename)
86 raise PictureIO::Error