class PhoneGap::Build::App
Constants
- PATH
Attributes
create_method[RW]
debug[RW]
description[RW]
file[RW]
hydrates[RW]
keys[RW]
package[RW]
phonegap_version[RW]
private[RW]
status[RW]
title[RW]
version[RW]
Public Instance Methods
build()
click to toggle source
# File lib/phone_gap/build/app.rb, line 27 def build ApiRequest.new.post("#{PATH}/#{id}/build") end
build_complete?(params = {})
click to toggle source
@TODO fix this ugly method!
# File lib/phone_gap/build/app.rb, line 32 def build_complete?(params = {}) complete = false error = false start_time = Time.now time_limit = start_time + (params[:poll_time_limit] || poll_time_limit) while !complete && (Time.now < time_limit) && !error response = ApiRequest.new.get("#{PATH}/#{id}") if response.success? json_object = JSON.parse(response.body) complete = json_object['status'].all? { |platform, status| %w(complete skip).include?(status) } error = json_object['status'].any? { |platform, status| status == 'error' } end sleep (params[:poll_interval] || poll_interval) unless complete or error end raise BuildError.new('An error occurred building at least one of the apps.') if error raise BuildError.new('Builds did not complete within the allotted time.') if !error && !complete populate_from_json(json_object) complete end
download(params = {})
click to toggle source
# File lib/phone_gap/build/app.rb, line 52 def download(params = {}) platforms_to_download = params[:platforms] ? params[:platforms] : built_platforms platforms_to_download.each do |platform| PhoneGap::Build::PackageDownloader.new.download(id, platform, params[:save_to]) end end
post_options()
click to toggle source
# File lib/phone_gap/build/app.rb, line 17 def post_options if file data_attributes = creatable_attributes data_attributes.delete('@file') {query: {file: file, data: as_json(only: data_attributes, remove_nils: true)}, detect_mime_type: true} else {query: {data: as_json(only: creatable_attributes, remove_nils: true)}} end end
Private Instance Methods
built_platforms()
click to toggle source
# File lib/phone_gap/build/app.rb, line 61 def built_platforms status.delete_if { |package, build_status| build_status != 'complete' }.keys end