module Shrine::Plugins::Transloadit::FileMethods

Public Instance Methods

transloadit_import_step(name = "import", **options) click to toggle source
# File lib/shrine/plugins/transloadit.rb, line 207
def transloadit_import_step(name = "import", **options)
  if defined?(Storage::S3) && storage.is_a?(Storage::S3)
    transloadit_s3_import_step(name, **options)
  elsif url && URI(url).is_a?(URI::HTTP)
    transloadit_http_import_step(name, **options)
  elsif url && URI(url).is_a?(URI::FTP)
    transloadit_ftp_import_step(name, **options)
  else
    fail Error, "cannot construct import step from #{self.inspect}"
  end
end

Private Instance Methods

transloadit_ftp_import_step(name, **options) click to toggle source
# File lib/shrine/plugins/transloadit.rb, line 237
def transloadit_ftp_import_step(name, **options)
  uri = URI.parse(url)

  transloadit_step name, "/ftp/import",
    host:     uri.host,
    user:     uri.user,
    password: uri.password,
    path:     uri.path,
    **options
end
transloadit_http_import_step(name, **options) click to toggle source
# File lib/shrine/plugins/transloadit.rb, line 231
def transloadit_http_import_step(name, **options)
  transloadit_step name, "/http/import",
    url: url,
    **options
end
transloadit_s3_import_step(name, **options) click to toggle source
# File lib/shrine/plugins/transloadit.rb, line 221
def transloadit_s3_import_step(name, **options)
  unless options.key?(:credentials)
    options[:credentials] = shrine_class.transloadit_credentials(storage_key).to_s
  end

  transloadit_step name, "/s3/import",
    path: [*storage.prefix, id].join("/"),
    **options
end
transloadit_step(*args) click to toggle source
# File lib/shrine/plugins/transloadit.rb, line 248
def transloadit_step(*args)
  shrine_class.transloadit_step(*args)
end