class Commands::QueryRevision

Queries all revisions of a file.

Public Class Methods

command_name() click to toggle source
# File lib/gdsh/query_revision.rb, line 11
def self.command_name
  'query'
end
function() click to toggle source
# File lib/gdsh/query_revision.rb, line 19
def self.function
  'Queries all revisions of a file.'
end
new(client, params) click to toggle source
Calls superclass method Commands::Command::new
# File lib/gdsh/query_revision.rb, line 23
def initialize(client, params)
  super(client, params)
  @file_id = params[1]
end
parameters() click to toggle source
# File lib/gdsh/query_revision.rb, line 15
def self.parameters
  '(<file_id>)'
end

Public Instance Methods

execute() click to toggle source
# File lib/gdsh/query_revision.rb, line 83
def execute
  return if revisions.nil?

  puts_banner
  revisions.each do |r|
    puts_revision_info(r)
  end
end
modified_date_label() click to toggle source
# File lib/gdsh/query_revision.rb, line 49
def modified_date_label
  'Modified: '.colorize(:magenta)
end
modifying_user_label() click to toggle source
# File lib/gdsh/query_revision.rb, line 53
def modifying_user_label
  'Modifying User: '.colorize(:magenta)
end
modifying_users() click to toggle source
# File lib/gdsh/query_revision.rb, line 98
def modifying_users
  modifying_hash = {}
  revisions.each do |r|
    modifying_hash[r['id']] = r['lastModifyingUserName']
  end
  modifying_hash
end
puts_banner() click to toggle source
# File lib/gdsh/query_revision.rb, line 40
def puts_banner
  puts 'Revisions'.colorize(:magenta)
  puts '---------'.colorize(:magenta)
end
puts_revision_info(revision) click to toggle source
# File lib/gdsh/query_revision.rb, line 75
def puts_revision_info(revision)
  puts revision_id_label + "#{revision['id']}"
  puts modified_date_label + "#{revision['modifiedDate']}"
  puts modifying_user_label + "#{revision['lastModifyingUserName']}"
  puts_download_links
  puts ''
end
revision_id_label() click to toggle source
# File lib/gdsh/query_revision.rb, line 45
def revision_id_label
  'Revision id: '.colorize(:magenta)
end
revisions() click to toggle source
# File lib/gdsh/query_revision.rb, line 28
def revisions
  drive = @client.discovered_api('drive', 'v2')
  api_result = @client.execute(
    api_method: drive.revisions.list,
    parameters: { 'fileId' => @file_id })
  if api_result.status == 200
    api_result.data.items
  else
    puts drive_error_string
  end
end