class Spaceship::Portal::App
Attributes
@return (Fixnum) Number of associated app groups
@return (Fixnum) Number of associated cloud containers
@return (Bool) Development Push Enabled?
@return (Array) List of enabled features
@return (Hash) Feature details
@return (Fixnum) Number of associated identifiers
@return (Bool) Is this app a wildcard app (e.g. com.krausefx.*)
@return (String
) The name you provided for this app @example
"Spaceship"
@return (String
) the supported platform of this app @example
"ios"
Prefix provided by the Dev Portal
@example
"5A997XSHK2"
@return (Bool) Production Push Enabled?
Public Class Methods
@param mac [Bool] Fetches Mac apps if true @return (Array) Returns all apps available for this account
# File lib/spaceship/portal/app.rb, line 79 def all(mac: false) client.apps(mac: mac).map { |app| self.factory(app) } end
Creates a new App
ID on the Apple Dev Portal
if bundle_id
ends with '*' then it is a wildcard id otherwise, it is an explicit id @param bundle_id
[String] the bundle id (app_identifier) of the app associated with this provisioning profile @param name [String] the name of the App
@param mac [Bool] is this a Mac app? @return (App
) The app you just created
# File lib/spaceship/portal/app.rb, line 90 def create!(bundle_id: nil, name: nil, mac: false) if bundle_id.end_with?('*') type = :wildcard else type = :explicit end new_app = client.create_app!(type, name, bundle_id, mac: mac) self.new(new_app) end
Create a new object based on a hash. This is used to create a new object based on the server response.
# File lib/spaceship/portal/app.rb, line 73 def factory(attrs) self.new(attrs) end
Find a specific App
ID based on the bundle_id
@param mac [Bool] Searches Mac apps if true @return (App
) The app you're looking for. This is nil if the app can't be found.
# File lib/spaceship/portal/app.rb, line 104 def find(bundle_id, mac: false) all(mac: mac).find do |app| app.bundle_id == bundle_id end end
Public Instance Methods
Associate specific groups with this app @return (App
) The updated detailed app. This is nil if the app couldn't be found
# File lib/spaceship/portal/app.rb, line 128 def associate_groups(groups) raise "`associate_groups` not available for Mac apps" if mac? app = client.associate_groups_with_app(self, groups) self.class.factory(app) end
@return (Bool) Is this a Mac app?
# File lib/spaceship/portal/app.rb, line 143 def mac? platform == 'mac' end
Update a service for the app with given AppService
object @return (App
) The updated detailed app. This is nil if the app couldn't be found
# File lib/spaceship/portal/app.rb, line 136 def update_service(service) raise "`update_service` not implemented for Mac apps" if mac? app = client.update_service_for_app(self, service) self.class.factory(app) end