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

#client, #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, #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



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



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



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



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



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



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

def application
  @application
end

#content_rights_contains_third_party_contentBoolean



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



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



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



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



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



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



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



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



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



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



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

def export_compliance_platform
  @export_compliance_platform
end

#export_compliance_uses_encryptionBoolean



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

def export_compliance_uses_encryption
  @export_compliance_uses_encryption
end

#submitted_for_reviewBoolean



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

def 
  @submitted_for_review
end

#versionAppVersion



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

def version
  @version
end

Class Method Details

.create(application, version) ⇒ Object



116
117
118
119
120
121
122
# File 'lib/spaceship/tunes/app_submission.rb', line 116

def create(application, version)
  attrs = client.prepare_app_submissions(application.apple_id, application.edit_version.version_id)
  attrs[:application] = application
  attrs[:version] = version

  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.



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

def factory(attrs)
  # fill content rights section if iTC returns nil
  if attrs["contentRights"].nil?
    attrs["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



126
127
128
129
# File 'lib/spaceship/tunes/app_submission.rb', line 126

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

#setupObject



131
132
133
# File 'lib/spaceship/tunes/app_submission.rb', line 131

def setup
  @submitted_for_review = false
end