class Spaceship::ConnectAPI::Build
Constants
- ESSENTIAL_INCLUDES
Attributes
app[RW]
beta_app_review_submission[RW]
beta_build_localizations[RW]
beta_build_metrics[RW]
build_beta_detail[RW]
build_bundles[RW]
expiration_date[RW]
expired[RW]
icon_asset_token[RW]
individual_testers[RW]
min_os_version[RW]
pre_release_version[RW]
processing_state[RW]
uploaded_date[RW]
uses_non_exempt_encryption[RW]
version[RW]
Public Class Methods
all(client: nil, app_id: nil, version: nil, build_number: nil, platform: nil, processing_states: "PROCESSING,FAILED,INVALID,VALID", includes: ESSENTIAL_INCLUDES, sort: "-uploadedDate", limit: 30)
click to toggle source
API
# File spaceship/lib/spaceship/connect_api/models/build.rb, line 124 def self.all(client: nil, app_id: nil, version: nil, build_number: nil, platform: nil, processing_states: "PROCESSING,FAILED,INVALID,VALID", includes: ESSENTIAL_INCLUDES, sort: "-uploadedDate", limit: 30) client ||= Spaceship::ConnectAPI resps = client.get_builds( filter: { app: app_id, "preReleaseVersion.version" => version, version: build_number, processingState: processing_states }, includes: includes, sort: sort, limit: limit ).all_pages models = resps.flat_map(&:to_models) # Filtering after models are fetched since there is no way to do this in a query param filter if platform models = models.select do |build| build.pre_release_version && build.pre_release_version.platform == platform end end return models end
get(client: nil, build_id: nil, includes: ESSENTIAL_INCLUDES)
click to toggle source
# File spaceship/lib/spaceship/connect_api/models/build.rb, line 144 def self.get(client: nil, build_id: nil, includes: ESSENTIAL_INCLUDES) client ||= Spaceship::ConnectAPI return client.get_build(build_id: build_id, includes: includes).first end
type()
click to toggle source
# File spaceship/lib/spaceship/connect_api/models/build.rb, line 55 def self.type return "builds" end
Public Instance Methods
add_beta_groups(client: nil, beta_groups: nil)
click to toggle source
# File spaceship/lib/spaceship/connect_api/models/build.rb, line 155 def add_beta_groups(client: nil, beta_groups: nil) client ||= Spaceship::ConnectAPI beta_groups ||= [] beta_group_ids = beta_groups.map(&:id) return client.add_beta_groups_to_build(build_id: id, beta_group_ids: beta_group_ids) end
app_id()
click to toggle source
# File spaceship/lib/spaceship/connect_api/models/build.rb, line 68 def app_id raise "No app included" unless app return app.id end
app_version()
click to toggle source
Helpers
# File spaceship/lib/spaceship/connect_api/models/build.rb, line 63 def app_version raise "No pre_release_version included" unless pre_release_version return pre_release_version.version end
bundle_id()
click to toggle source
# File spaceship/lib/spaceship/connect_api/models/build.rb, line 73 def bundle_id raise "No app included" unless app return app.bundle_id end
expire!(client: nil)
click to toggle source
# File spaceship/lib/spaceship/connect_api/models/build.rb, line 189 def expire!(client: nil) client ||= Spaceship::ConnectAPI return client.patch_builds(build_id: id, attributes: { expired: true }) end
get_beta_build_localizations(client: nil, filter: {}, includes: nil, limit: nil, sort: nil)
click to toggle source
# File spaceship/lib/spaceship/connect_api/models/build.rb, line 162 def get_beta_build_localizations(client: nil, filter: {}, includes: nil, limit: nil, sort: nil) client ||= Spaceship::ConnectAPI resps = client.get_beta_build_localizations( filter: { build: id }, includes: includes, sort: sort, limit: limit ).all_pages return resps.flat_map(&:to_models) end
get_build_beta_details(client: nil, filter: {}, includes: nil, limit: nil, sort: nil)
click to toggle source
# File spaceship/lib/spaceship/connect_api/models/build.rb, line 173 def get_build_beta_details(client: nil, filter: {}, includes: nil, limit: nil, sort: nil) client ||= Spaceship::ConnectAPI resps = client.get_build_beta_details( filter: { build: id }, includes: includes, sort: sort, limit: limit ).all_pages return resps.flat_map(&:to_models) end
missing_export_compliance?()
click to toggle source
# File spaceship/lib/spaceship/connect_api/models/build.rb, line 100 def missing_export_compliance? raise "No build_beta_detail included" unless build_beta_detail return build_beta_detail.missing_export_compliance? end
platform()
click to toggle source
# File spaceship/lib/spaceship/connect_api/models/build.rb, line 78 def platform raise "No pre_release_version included" unless pre_release_version return pre_release_version.platform end
post_beta_app_review_submission(client: nil)
click to toggle source
# File spaceship/lib/spaceship/connect_api/models/build.rb, line 184 def post_beta_app_review_submission(client: nil) client ||= Spaceship::ConnectAPI return client.post_beta_app_review_submissions(build_id: id) end
processed?()
click to toggle source
# File spaceship/lib/spaceship/connect_api/models/build.rb, line 83 def processed? return processing_state != ProcessingState::PROCESSING end
ready_for_beta_submission?()
click to toggle source
# File spaceship/lib/spaceship/connect_api/models/build.rb, line 95 def ready_for_beta_submission? raise "No build_beta_detail included" unless build_beta_detail return build_beta_detail.ready_for_beta_submission? end
ready_for_external_testing?()
click to toggle source
# File spaceship/lib/spaceship/connect_api/models/build.rb, line 91 def ready_for_external_testing? return build_beta_detail.nil? == false && build_beta_detail.ready_for_external_testing? end
ready_for_internal_testing?()
click to toggle source
# File spaceship/lib/spaceship/connect_api/models/build.rb, line 87 def ready_for_internal_testing? return build_beta_detail.nil? == false && build_beta_detail.ready_for_internal_testing? end
to_testflight_build()
click to toggle source
This is here temporarily until the removal of Spaceship::TestFlight
# File spaceship/lib/spaceship/connect_api/models/build.rb, line 106 def to_testflight_build h = { 'id' => id, 'buildVersion' => version, 'uploadDate' => uploaded_date, 'externalState' => processed? ? Spaceship::TestFlight::Build::BUILD_STATES[:active] : Spaceship::TestFlight::Build::BUILD_STATES[:processing], 'appAdamId' => app_id, 'bundleId' => bundle_id, 'trainVersion' => app_version } return Spaceship::TestFlight::Build.new(h) end
update(client: nil, attributes: nil)
click to toggle source
# File spaceship/lib/spaceship/connect_api/models/build.rb, line 149 def update(client: nil, attributes: nil) client ||= Spaceship::ConnectAPI attributes = reverse_attr_mapping(attributes) return client.patch_builds(build_id: id, attributes: attributes).first end