class S3Tree::Files

Attributes

path[R]

Public Class Methods

new(bucket, path) click to toggle source
# File lib/s3_tree/files.rb, line 6
def initialize(bucket, path)
  @bucket = bucket
  @path = path
end

Public Instance Methods

directory() click to toggle source
# File lib/s3_tree/files.rb, line 20
def directory
  @directory ||= begin
    dir = File.dirname(@path[:s3_object].key)
    dir = nil if dir == '.'
    S3Tree::Directory.new(@bucket, dir)
  end
end
extension() click to toggle source
# File lib/s3_tree/files.rb, line 16
def extension
  @extension ||= File.extname(@path[:s3_object].key)
end
last_modified() click to toggle source
# File lib/s3_tree/files.rb, line 32
def last_modified
  @path[:s3_object].last_modified
end
name() click to toggle source
# File lib/s3_tree/files.rb, line 11
def name
  @name ||= File.basename(@path[:s3_object].key)
  URI.decode(@name).gsub('+', ' ')
end
s3_object() click to toggle source
# File lib/s3_tree/files.rb, line 36
def s3_object
  @s3_object ||= @bucket.object(@path)
end
size() click to toggle source
# File lib/s3_tree/files.rb, line 28
def size
  number_to_human_size(@path[:s3_object].size)
end
url() click to toggle source
# File lib/s3_tree/files.rb, line 40
def url
  @bucket.object(URI.decode(@path[:s3_object].key).gsub('+', ' ')).presigned_url(:get)
end