# For complete examples and data files, please go to https://github.com/aspose-cells-cloud/aspose-cells-cloud-ruby
require 'aspose_cells_cloud'

class Document

  include AsposeCellsCloud


  def initialize
     #Get client_id and client_secret from https://cloud.aspose.com
   
    @instance =  AsposeCellsCloud::CellsApi.new($client_id,$client_secret,$api_version,$baseurl) 
  end

  def upload_file(file_name)

    response = @cells_api.put_create(file_name, File.open("../../../data/" << file_name,"r") { |io| io.read } )
  end

  # Protect document from changes.
  def protect_document_from_changes
    name = $BOOK1
    password = AsposeCellsCloud::PasswordRequest.new({:Password=>'123456'})
    folder = $TEMPFOLDER
    result = @instance.upload_file( folder+"/"+name,  ::File.open(File.expand_path("data/"+name),"r") {|io| io.read(io.size) })
    expect(result.uploaded.size).to  be > 0
    result = @instance.cells_workbook_put_document_protect_from_changes(name,  {:password=>password, :folder=>folder})
  end

end

document = Document.new()
puts document.protect_document_from_changes