Jump To …

sample18.rb

GET request

get '/sample18' do
  haml :sample18
end


POST request

post '/sample18' do

set variables

  set :client_id, params[:client_id]
  set :private_key, params[:private_key]
  set :file_id, params[:fileId]
  set :convert_type, params[:convert_type]

  begin

check required variables

    raise "Please enter all required parameters" if settings.client_id.empty? or settings.private_key.empty? or settings.file_id.empty?


make a request to API using clientid and privatekey

    files_list = GroupDocs::Storage::Folder.list!('/', {}, { :client_id => settings.client_id, :private_key => settings.private_key})
    document = ''


get document by file ID

    files_list.each do |element|
      if element.respond_to?('guid') == true and element.guid == settings.file_id
        document = element
      end
    end

    message = ""
    unless document.instance_of? String


convert file

      convert = document.to_document.convert!(settings.convert_type, {}, {:client_id => settings.client_id, :private_key => settings.private_key})
      sleep(3)

      if convert.instance_of? GroupDocs::Job

get all jobs

        jobs = GroupDocs::Job::all!({}, {:client_id => settings.client_id, :private_key => settings.private_key})


get job by job ID

        job = ''
        jobs.each do |element|
          if element.id == convert.id
            job = element
          end
        end

        if job.status == :archived
          message = "<p>Converted file saved successfully."
        end

      end
    end

  rescue Exception => e
    err = e.message
  end


set variables for template

  haml :sample18, :locals => { :userId => settings.client_id, :privateKey => settings.private_key, :fileId => settings.file_id, :message => message, :err => err }
end