class Commands::GetFile
Downloads Files/Revisions
Public Class Methods
command_name()
click to toggle source
# File lib/gdsh/get_file.rb, line 9 def self.command_name 'get_txt' end
function()
click to toggle source
# File lib/gdsh/get_file.rb, line 17 def self.function 'Downloads a specific revision of a file if <revision_number> is ' \ 'specified; downloads all revisions otherwise.' end
new(client, params)
click to toggle source
Calls superclass method
# File lib/gdsh/get_file.rb, line 22 def initialize(client, params) super(client, params) @revision = (params.length == 3) ? params[2] : nil @file_id = @params[1] end
parameters()
click to toggle source
# File lib/gdsh/get_file.rb, line 13 def self.parameters '(<file_id>[,<revision_number>])' end
Public Instance Methods
download(url)
click to toggle source
# File lib/gdsh/get_file.rb, line 32 def download(url) return unless @client puts_downloading_banner(url) result = @client.execute(uri: url) if result.status == 200 result.body else puts drive_error_string end end
download_revision_as_txt(rev)
click to toggle source
# File lib/gdsh/get_file.rb, line 44 def download_revision_as_txt(rev) download(txt_link(rev)) end
execute()
click to toggle source
# File lib/gdsh/get_file.rb, line 57 def execute if @revision.nil? revisions.each { |r| write_to_file(r['id']) } else write_to_file(@revision) end end
generate_filename_from_revision(revision)
click to toggle source
# File lib/gdsh/get_file.rb, line 53 def generate_filename_from_revision(revision) @file_id + '_rev_' + revision + '.txt' end
write_to_file(revision)
click to toggle source
# File lib/gdsh/get_file.rb, line 48 def write_to_file(revision) filename = generate_filename_from_revision(revision) File.write(filename, download_revision_as_txt(revision)) end