class GroupDocs::Storage::Package

Attributes

name[RW]

@attr [String] name Package name

objects[RW]

@attr [Array<GroupDocs::Storage::File, GroupDocs::Storage::Folder>] objects Storage entities to be packed

Public Instance Methods

<<(object)
Alias for: add
add(object) click to toggle source

Appends object to be packed.

@param [GroupDocs::Storage::File, GroupDocs::Storage::Folder] object

# File lib/groupdocs/storage/package.rb, line 17
def add(object)
  @objects ||= Array.new
  @objects << object
end
Also aliased as: <<
create!(access = {}) click to toggle source

Creates package on server.

@param [Hash] access Access credentials @option access [String] :client_id @option access [String] :private_key @return [String] URL of package for downloading

# File lib/groupdocs/storage/package.rb, line 31
def create!(access = {})
  paths = @objects.map do |object|
    prepare_path("#{object.path}/#{object.name}")
  end

  json = Api::Request.new do |request|
    request[:access] = access
    request[:method] = :POST
    request[:path] = "/storage/{{client_id}}/packages/#{name}.zip"
    request[:request_body] = paths
  end.execute!

  json[:url]
end