class PhoneGap::Build::PackageDownloader

Attributes

http_response[R]
id[R]
platform[R]
target_dir[R]

Public Instance Methods

download(id, platform, target_dir = '/tmp') click to toggle source
# File lib/phone_gap/build/package_downloader.rb, line 7
def download(id, platform, target_dir = '/tmp')
  @id, @platform, @target_dir = id, platform, target_dir
  @http_response = PhoneGap::Build::ApiRequest.new.get("/apps/#{id}/#{platform}")
  save_file if http_response.success?
end

Private Instance Methods

file_name() click to toggle source
# File lib/phone_gap/build/package_downloader.rb, line 30
def file_name
  file_name_from_uri(http_response.request.instance_variable_get(:@last_uri).request_uri)
end
file_name_from_uri(uri) click to toggle source
# File lib/phone_gap/build/package_downloader.rb, line 34
def file_name_from_uri(uri)
  uri.match(/\/([^\/]*)$/)[0]
end
file_path() click to toggle source
# File lib/phone_gap/build/package_downloader.rb, line 26
def file_path
  File.join(platform_output_dir, file_name)
end
platform_output_dir() click to toggle source
# File lib/phone_gap/build/package_downloader.rb, line 22
def platform_output_dir
  File.join(target_dir, platform.to_s)
end
save_file() click to toggle source
# File lib/phone_gap/build/package_downloader.rb, line 15
def save_file
  FileUtils.mkdir_p(platform_output_dir)
  puts "Saving to #{file_path}"
  File.open(file_path, 'w+') { |f| f.write(http_response.body) }
  puts 'Download complete'
end