Class: Spaceship::Tunes::BuildTrain
- Defined in:
- lib/spaceship/tunes/build_train.rb
Overview
Represents a build train of builds from iTunes Connect A build train is all builds for a given version number with different build numbers
Instance Attribute Summary collapse
-
#application ⇒ Spaceship::Tunes::Application
A reference to the application this train is for.
-
#builds ⇒ Array
readonly
An array of all builds that are inside this train (Spaceship::Tunes::Build).
-
#platform ⇒ String
readonly
Platform (e.g. “ios”).
-
#processing_builds ⇒ Array
readonly
An array of all builds that are inside this train (Spaceship::Tunes::Build) I never got this to work to properly try and debug this.
-
#testing_enabled ⇒ Bool
readonly
Is beta testing enabled for this train? Only one train can have enabled testing.
-
#version_string ⇒ String
readonly
The version number of this train.
Attributes inherited from Base
Class Method Summary collapse
- .all(application, app_id) ⇒ Object
-
.factory(attrs) ⇒ Object
Create a new object based on a hash.
Instance Method Summary collapse
-
#setup ⇒ Object
Setup all the builds and processing builds.
- #update_testing_status!(new_value) ⇒ Object
Methods inherited from TunesBase
Methods inherited from Base
attr_accessor, attr_mapping, attributes, #attributes, #client, #initialize, #inspect, mapping_module, method_missing, set_client, #to_s
Constructor Details
This class inherits a constructor from Spaceship::Base
Instance Attribute Details
#application ⇒ Spaceship::Tunes::Application
Returns A reference to the application this train is for.
9 10 11 |
# File 'lib/spaceship/tunes/build_train.rb', line 9 def application @application end |
#builds ⇒ Array (readonly)
Returns An array of all builds that are inside this train (Spaceship::Tunes::Build).
12 13 14 |
# File 'lib/spaceship/tunes/build_train.rb', line 12 def builds @builds end |
#platform ⇒ String (readonly)
Returns Platform (e.g. “ios”).
18 19 20 |
# File 'lib/spaceship/tunes/build_train.rb', line 18 def platform @platform end |
#processing_builds ⇒ Array (readonly)
Returns An array of all builds that are inside this train (Spaceship::Tunes::Build) I never got this to work to properly try and debug this.
25 26 27 |
# File 'lib/spaceship/tunes/build_train.rb', line 25 def processing_builds @processing_builds end |
#testing_enabled ⇒ Bool (readonly)
Returns Is beta testing enabled for this train? Only one train can have enabled testing.
21 22 23 |
# File 'lib/spaceship/tunes/build_train.rb', line 21 def testing_enabled @testing_enabled end |
#version_string ⇒ String (readonly)
Returns The version number of this train.
15 16 17 |
# File 'lib/spaceship/tunes/build_train.rb', line 15 def version_string @version_string end |
Class Method Details
.all(application, app_id) ⇒ Object
42 43 44 45 46 47 48 49 50 51 |
# File 'lib/spaceship/tunes/build_train.rb', line 42 def all(application, app_id) data = client.build_trains(app_id) result = {} data['trains'].each do |attrs| attrs.merge!(application: application) current = self.factory(attrs) result[current.version_string] = current end result end |
.factory(attrs) ⇒ Object
Create a new object based on a hash. This is used to create a new object based on the server response.
36 37 38 |
# File 'lib/spaceship/tunes/build_train.rb', line 36 def factory(attrs) self.new(attrs) end |
Instance Method Details
#setup ⇒ Object
Setup all the builds and processing builds
55 56 57 58 59 60 61 62 63 64 65 66 67 |
# File 'lib/spaceship/tunes/build_train.rb', line 55 def setup super @builds = self.raw_data['builds'].collect do |attrs| attrs.merge!(build_train: self) Tunes::Build.factory(attrs) end @processing_builds = self.raw_data['buildsInProcessing'].collect do |attrs| attrs.merge!(build_train: self) Tunes::Build.factory(attrs) end end |
#update_testing_status!(new_value) ⇒ Object
69 70 71 72 73 74 75 76 77 78 |
# File 'lib/spaceship/tunes/build_train.rb', line 69 def update_testing_status!(new_value) data = client.build_trains(self.application.apple_id) data['trains'].each do |train| train['testing']['value'] = false train['testing']['value'] = new_value if train['versionString'] == version_string end result = client.update_build_trains!(application.apple_id, data) self.testing_enabled = new_value result end |