Sha256: 321920f178660b8efcc7681fd47aaa88a2b88636fe8a4da4cafb7cd3eadf02e7

Contents?: true

Size: 1.08 KB

Versions: 14

Compression:

Stored size: 1.08 KB

Contents

module GroupDocs
  module Storage
    class Package < Api::Entity

      # @attr [String] name Package name
      attr_accessor :name
      # @attr [Array] objects Storage entities to be packed
      attr_accessor :objects

      #
      # Appends object to be packed.
      #
      # @param [GroupDocs::Storage::File, GroupDocs::Storage::Folder] object
      #
      def add(object)
        @objects ||= Array.new
        @objects << object
      end
      alias_method :<<, :add

      #
      # 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
      #
      def create!(access = {})
        json = Api::Request.new do |request|
          request[:access] = access
          request[:method] = :POST
          request[:path] = "/storage/{{client_id}}/packages/#{name}.zip"
          request[:request_body] = @objects.map(&:name)
        end.execute!

        json[:url]
      end

    end # Package
  end # Storage
end # GroupDocs

Version data entries

14 entries across 14 versions & 1 rubygems

Version Path
groupdocs-1.4.0 lib/groupdocs/storage/package.rb
groupdocs-1.3.0 lib/groupdocs/storage/package.rb
groupdocs-1.2.11 lib/groupdocs/storage/package.rb
groupdocs-1.2.10 lib/groupdocs/storage/package.rb
groupdocs-1.2.9 lib/groupdocs/storage/package.rb
groupdocs-1.2.8 lib/groupdocs/storage/package.rb
groupdocs-1.2.7 lib/groupdocs/storage/package.rb
groupdocs-1.2.6 lib/groupdocs/storage/package.rb
groupdocs-1.2.3 lib/groupdocs/storage/package.rb
groupdocs-1.2.2 lib/groupdocs/storage/package.rb
groupdocs-1.2.1 lib/groupdocs/storage/package.rb
groupdocs-1.2.0 lib/groupdocs/storage/package.rb
groupdocs-1.1.0 lib/groupdocs/storage/package.rb
groupdocs-1.0.0 lib/groupdocs/storage/package.rb