class PredicsisMlSdk::Upload
Public Class Methods
complete(id, path, token = bearer_token)
click to toggle source
# File lib/predicsis_ml_sdk/upload.rb, line 26 def self.complete(id, path, token = bearer_token) new(id, path, token).complete end
get_part_url(id, path, part_number, token = bearer_token)
click to toggle source
# File lib/predicsis_ml_sdk/upload.rb, line 22 def self.get_part_url(id, path, part_number, token = bearer_token) new(id, path, token).get_part_url(part_number) end
initiate(token = bearer_token)
click to toggle source
# File lib/predicsis_ml_sdk/upload.rb, line 15 def self.initiate(token = bearer_token) data = Requests.initiate_upload(token) new(data['id'], data['path'], token).tap do |upload| upload.define_attributes(data) end end
new(id, path, token = bearer_token)
click to toggle source
# File lib/predicsis_ml_sdk/upload.rb, line 30 def initialize(id, path, token = bearer_token) @id = id @path = path @token = token end
start(file, token = bearer_token)
click to toggle source
# File lib/predicsis_ml_sdk/upload.rb, line 9 def self.start(file, token = bearer_token) Upload.initiate.tap do |u| u.upload(file) end end
Public Instance Methods
complete()
click to toggle source
# File lib/predicsis_ml_sdk/upload.rb, line 52 def complete Requests.complete_upload(token, id, path) end
get_part_url(part_number)
click to toggle source
# File lib/predicsis_ml_sdk/upload.rb, line 48 def get_part_url(part_number) Requests.get_part_url(token, id, part_number, path)['part_url'] end
path()
click to toggle source
# File lib/predicsis_ml_sdk/upload.rb, line 62 def path @path ||= defined?(key) ? key : object end
progressbar()
click to toggle source
# File lib/predicsis_ml_sdk/upload.rb, line 66 def progressbar @progressbar ||= ProgressBar.create(format: '|%b>%i| %p%% %t', starting_at: 0, :total => @nb_of_parts) end
to_h()
click to toggle source
# File lib/predicsis_ml_sdk/upload.rb, line 56 def to_h instance_variables.each_with_object({}) do |var, hash| hash[var.to_s.delete("@")] = instance_variable_get(var) unless var.to_s == '@token' end end
upload(file)
click to toggle source
# File lib/predicsis_ml_sdk/upload.rb, line 36 def upload(file) path = split_into_files(file) nb_of_parts(file).times do |i| tmp_path = path + i.to_s.rjust(5, '0') sleep(1) until exists?(tmp_path, i, file) Requests.upload(get_part_url(i + 1), tmp_path, i + 1) progressbar.increment end Thread.new { FileUtils.rm_rf Dir.glob(path.gsub('part_', '')) } complete end