class VzaarApi::Signature::Factory
Constants
- MIN_S3_MULTIPART_FILE_SIZE
5MB is min size required for multipart upload
Attributes
attrs[R]
path[R]
Public Class Methods
create(attrs)
click to toggle source
# File lib/vzaar_api/signature/factory.rb, line 15 def self.create(attrs) new(attrs).create end
new(attrs)
click to toggle source
# File lib/vzaar_api/signature/factory.rb, line 10 def initialize(attrs) @attrs = attrs @path = attrs.fetch(:path) end
Public Instance Methods
create()
click to toggle source
# File lib/vzaar_api/signature/factory.rb, line 19 def create klass = multipart? ? Multipart : Single klass.create(multipart_attrs) end
multipart?()
click to toggle source
# File lib/vzaar_api/signature/factory.rb, line 24 def multipart? multipart_attrs[:filesize].to_i >= MIN_S3_MULTIPART_FILE_SIZE end
multipart_attrs()
click to toggle source
# File lib/vzaar_api/signature/factory.rb, line 28 def multipart_attrs { filesize: File::Stat.new(path).size, filename: File.basename(path) } rescue Errno::ENOENT raise Error.new 'Invalid parameters: path is invalid' end