Class: Spaceship::Tunes::AppSubmission

Inherits:
TunesBase show all
Defined in:
lib/spaceship/tunes/app_submission.rb

Overview

Represents a submission for review of an iTunes Connect Application This class handles the submission of all review information and documents

Instance Attribute Summary collapse

Attributes inherited from Base

#raw_data

Class Method Summary collapse

Instance Method Summary collapse

Methods inherited from TunesBase

client

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

#add_id_info_limits_trackingBoolean

Returns Ad ID Info - Limits ads tracking.

Returns:

  • (Boolean)

    Ad ID Info - Limits ads tracking



20
21
22
# File 'lib/spaceship/tunes/app_submission.rb', line 20

def add_id_info_limits_tracking
  @add_id_info_limits_tracking
end

#add_id_info_serves_adsBoolean

Returns Ad ID Info - Serves ads.

Returns:

  • (Boolean)

    Ad ID Info - Serves ads



23
24
25
# File 'lib/spaceship/tunes/app_submission.rb', line 23

def add_id_info_serves_ads
  @add_id_info_serves_ads
end

#add_id_info_tracks_actionBoolean

Returns Ad ID Info - Tracks actions.

Returns:

  • (Boolean)

    Ad ID Info - Tracks actions



26
27
28
# File 'lib/spaceship/tunes/app_submission.rb', line 26

def add_id_info_tracks_action
  @add_id_info_tracks_action
end

#add_id_info_tracks_installBoolean

Returns Ad ID Info - Tracks installs.

Returns:

  • (Boolean)

    Ad ID Info - Tracks installs



29
30
31
# File 'lib/spaceship/tunes/app_submission.rb', line 29

def add_id_info_tracks_install
  @add_id_info_tracks_install
end

#add_id_info_uses_idfaBoolean

Returns Ad ID Info - Uses idfa.

Returns:

  • (Boolean)

    Ad ID Info - Uses idfa



32
33
34
# File 'lib/spaceship/tunes/app_submission.rb', line 32

def add_id_info_uses_idfa
  @add_id_info_uses_idfa
end

#applicationSpaceship::Tunes::Application

Returns A reference to the application this submission is for.

Returns:



8
9
10
# File 'lib/spaceship/tunes/app_submission.rb', line 8

def application
  @application
end

#content_rights_contains_third_party_contentBoolean

Returns Content Rights - Contains third party content.

Returns:

  • (Boolean)

    Content Rights - Contains third party content



35
36
37
# File 'lib/spaceship/tunes/app_submission.rb', line 35

def content_rights_contains_third_party_content
  @content_rights_contains_third_party_content
end

#content_rights_has_rightsBoolean

Returns Content Rights - Has rights of content.

Returns:

  • (Boolean)

    Content Rights - Has rights of content



38
39
40
# File 'lib/spaceship/tunes/app_submission.rb', line 38

def content_rights_has_rights
  @content_rights_has_rights
end

#export_compliance_app_typeString

Returns Export Compliance - App type.

Returns:

  • (String)

    Export Compliance - App type



59
60
61
# File 'lib/spaceship/tunes/app_submission.rb', line 59

def export_compliance_app_type
  @export_compliance_app_type
end

#export_compliance_available_on_french_storeBoolean

Returns Export Compliance - Available on French Store.

Returns:

  • (Boolean)

    Export Compliance - Available on French Store



41
42
43
# File 'lib/spaceship/tunes/app_submission.rb', line 41

def export_compliance_available_on_french_store
  @export_compliance_available_on_french_store
end

#export_compliance_ccat_fileNot Yet Implemented

Returns Export Compliance - CCAT File.

Returns:

  • (Not Yet Implemented)

    Export Compliance - CCAT File



44
45
46
# File 'lib/spaceship/tunes/app_submission.rb', line 44

def export_compliance_ccat_file
  @export_compliance_ccat_file
end

#export_compliance_compliance_requiredBoolean

Returns Export Compliance - Compliance Required.

Returns:

  • (Boolean)

    Export Compliance - Compliance Required



65
66
67
# File 'lib/spaceship/tunes/app_submission.rb', line 65

def export_compliance_compliance_required
  @export_compliance_compliance_required
end

#export_compliance_contains_proprietary_cryptographyBoolean

Returns Export Compliance - Contains proprietary cryptography.

Returns:

  • (Boolean)

    Export Compliance - Contains proprietary cryptography



47
48
49
# File 'lib/spaceship/tunes/app_submission.rb', line 47

def export_compliance_contains_proprietary_cryptography
  @export_compliance_contains_proprietary_cryptography
end

#export_compliance_contains_third_party_cryptographyBoolean

Returns Export Compliance - Contains third-party cryptography.

Returns:

  • (Boolean)

    Export Compliance - Contains third-party cryptography



50
51
52
# File 'lib/spaceship/tunes/app_submission.rb', line 50

def export_compliance_contains_third_party_cryptography
  @export_compliance_contains_third_party_cryptography
end

#export_compliance_encryption_updatedBoolean

Returns Export Compliance - Encryption Updated.

Returns:

  • (Boolean)

    Export Compliance - Encryption Updated



62
63
64
# File 'lib/spaceship/tunes/app_submission.rb', line 62

def export_compliance_encryption_updated
  @export_compliance_encryption_updated
end

#export_compliance_is_exemptBoolean

Returns Export Compliance - Is exempt.

Returns:

  • (Boolean)

    Export Compliance - Is exempt



53
54
55
# File 'lib/spaceship/tunes/app_submission.rb', line 53

def export_compliance_is_exempt
  @export_compliance_is_exempt
end

#export_compliance_platformString

Returns Export Compliance - Platform.

Returns:

  • (String)

    Export Compliance - Platform



68
69
70
# File 'lib/spaceship/tunes/app_submission.rb', line 68

def export_compliance_platform
  @export_compliance_platform
end

#export_compliance_uses_encryptionBoolean

Returns Export Compliance - Uses encryption.

Returns:

  • (Boolean)

    Export Compliance - Uses encryption



56
57
58
# File 'lib/spaceship/tunes/app_submission.rb', line 56

def export_compliance_uses_encryption
  @export_compliance_uses_encryption
end

#stageString

Returns The stage of this submission (start, complete).

Returns:

  • (String)

    The stage of this submission (start, complete)



14
15
16
# File 'lib/spaceship/tunes/app_submission.rb', line 14

def stage
  @stage
end

#submitted_for_reviewBoolean

Returns Submitted for Review.

Returns:

  • (Boolean)

    Submitted for Review



17
18
19
# File 'lib/spaceship/tunes/app_submission.rb', line 17

def 
  @submitted_for_review
end

#versionAppVersion

Returns The version to use for this submission.

Returns:

  • (AppVersion)

    The version to use for this submission



11
12
13
# File 'lib/spaceship/tunes/app_submission.rb', line 11

def version
  @version
end

Class Method Details

.create(application, app_id, version) ⇒ Object

Parameters:



120
121
122
123
124
125
126
127
128
# File 'lib/spaceship/tunes/app_submission.rb', line 120

def create(application, app_id, version)
  stage = "start"
  attrs = client.send_app_submission(application.apple_id, version.raw_data, stage)
  attrs.merge!(application: application)
  attrs.merge!(version: version)
  attrs.merge!(stage: stage)

  return self.factory(attrs)
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.



99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
# File 'lib/spaceship/tunes/app_submission.rb', line 99

def factory(attrs)
  orig = attrs.dup
  
  # fill content rights section if iTC returns nil
  if attrs["contentRights"].nil?
    attrs.merge!("contentRights" => {
      "containsThirdPartyContent" => {
        "value" => nil
      },
      "hasRights" => {
        "value" => nil
      }
    })
  end
  
  obj = self.new(attrs)
  return obj
end

Instance Method Details

#complete!Object

Save and complete the app submission



132
133
134
135
136
# File 'lib/spaceship/tunes/app_submission.rb', line 132

def complete!
  @stage = "complete"
  client.send_app_submission(application.apple_id, raw_data, @stage)
  @submitted_for_review = true
end

#setupObject



143
144
145
# File 'lib/spaceship/tunes/app_submission.rb', line 143

def setup
  @submitted_for_review = false
end

#urlString

Returns An URL to this specific resource. You can enter this URL into your browser.

Returns:

  • (String)

    An URL to this specific resource. You can enter this URL into your browser



139
140
141
# File 'lib/spaceship/tunes/app_submission.rb', line 139

def url
  "https://itunesconnect.apple.com/WebObjects/iTunesConnect.woa/ra/apps/#{self.application.apple_id}/version/submit/#{self.stage}"
end