class RabbitSwift::LargeObject::StaticLargeObject

Constants

LIMIT_FILE_SIZE
ORIGINAL_MD5SUM_META_NAME

Public Class Methods

is_over_default_limit_object_size(file_size) click to toggle source
# File lib/rabbit_swift/large_object/static_large_object.rb, line 46
def self.is_over_default_limit_object_size(file_size)
  LIMIT_FILE_SIZE < file_size
end
new(file_path, dest_container_path, split_file_path: nil, limit_file_size: LIMIT_FILE_SIZE) click to toggle source
# File lib/rabbit_swift/large_object/static_large_object.rb, line 20
def initialize(file_path, dest_container_path,  split_file_path: nil, limit_file_size: LIMIT_FILE_SIZE)
  @file_path = file_path
  @split_file_path = split_file_path
  @dest_container_path = dest_container_path
  @limit_file_size = limit_file_size
end

Public Instance Methods

create_manifest_list(file_path_list) click to toggle source
# File lib/rabbit_swift/large_object/static_large_object.rb, line 35
def create_manifest_list(file_path_list)
  manifest = []

  file_path_list.each do |file_path|
    md5 = Digest::MD5.file(file_path).to_s
    manifest.push(
    {path:  File.join(@dest_container_path, File.basename(file_path)), etag: md5, size_bytes: File.size(file_path)})
  end
  JSON.generate(manifest)
end
split() click to toggle source
# File lib/rabbit_swift/large_object/static_large_object.rb, line 27
def split
  rabbit_file_split = RabbitFileSplit::Bytes.new(@file_path)
  #p @file_path
  #p @limit_file_size
  rabbit_file_split.split(@limit_file_size)
  rabbit_file_split
end