lib/spaceship/portal/app.rb in spaceship-0.3.4 vs lib/spaceship/portal/app.rb in spaceship-0.4.0
- old
+ new
@@ -2,40 +2,40 @@
module Portal
# Represents an App ID from the Developer Portal
class App < PortalBase
# @return (String) The identifier of this app, provided by the Dev Portal
- # @example
+ # @example
# "RGAWZGXSAA"
attr_accessor :app_id
# @return (String) The name you provided for this app
# @example
# "Spaceship"
attr_accessor :name
# @return (String) the supported platform of this app
- # @example
+ # @example
# "ios"
attr_accessor :platform
# Prefix provided by the Dev Portal
- # @example
+ # @example
# "5A997XSHK2"
attr_accessor :prefix
# @return (String) The bundle_id (app identifier) of your app
- # @example
+ # @example
# "com.krausefx.app"
attr_accessor :bundle_id
# @return (Bool) Is this app a wildcard app (e.g. com.krausefx.*)
attr_accessor :is_wildcard
# @return (Hash) Feature details
attr_accessor :features
-
+
# @return (Array) List of enabled features
attr_accessor :enabled_features
# @return (Bool) Development Push Enabled?
attr_accessor :dev_push_enabled
@@ -43,14 +43,14 @@
# @return (Bool) Production Push Enabled?
attr_accessor :prod_push_enabled
# @return (Fixnum) Number of associated app groups
attr_accessor :app_groups_count
-
+
# @return (Fixnum) Number of associated cloud containers
attr_accessor :cloud_containers_count
-
+
# @return (Fixnum) Number of associated identifiers
attr_accessor :identifiers_count
attr_mapping(
'appIdId' => :app_id,
@@ -79,11 +79,11 @@
def all
client.apps.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
# @return (App) The app you just created
def create!(bundle_id: nil, name: nil)
@@ -111,14 +111,28 @@
# @return (App) The app you just deletd
def delete!
client.delete_app!(app_id)
self
end
-
+
# Fetch a specific App ID details based on the bundle_id
# @return (App) The app you're looking for. This is nil if the app can't be found.
def details
app = client.details_for_app(self)
+ self.class.factory(app)
+ end
+
+ # Associate specific groups with this app
+ # @return (App) The updated detailed app. This is nil if the app couldn't be found
+ def associate_groups(groups)
+ app = client.associate_groups_with_app(self, groups)
+ self.class.factory(app)
+ 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
+ def update_service(service)
+ app = client.update_service_for_app(self, service)
self.class.factory(app)
end
end
end
end