class Spaceship::Tunes::AppDetails

Attributes

apple_tv_privacy_policy[R]

@return (Hash) A hash prepresenting the privacy URL in all languages for Apple TV

application[RW]
available_primary_locale_codes[RW]
languages[RW]

@return (Array) Raw access the all available languages. You shouldn't use it probbaly

name[R]

@return (Hash) A hash representing the app name in all languages

primary_category[RW]

Categories (e.g. MZGenre.Business)

primary_first_sub_category[RW]
primary_locale_code[RW]
primary_second_sub_category[RW]
privacy_url[R]

@return (Hash) A hash representing the privacy URL in all languages

secondary_category[RW]
secondary_first_sub_category[RW]
secondary_second_sub_category[RW]
subtitle[R]

@return (Hash) A hash representing the subtitle in all languages

Public Class Methods

factory(attrs) click to toggle source

Create a new object based on a hash. This is used to create a new object based on the server response.

# File spaceship/lib/spaceship/tunes/app_details.rb, line 61
def factory(attrs)
  obj = self.new(attrs)
  obj.unfold_languages

  return obj
end

Public Instance Methods

primary_category=(value) click to toggle source

Custom Setters

Calls superclass method
# File spaceship/lib/spaceship/tunes/app_details.rb, line 94
def primary_category=(value)
  value = prefix_apps(value)
  value = prefix_mzgenre(value)
  super(value)
end
primary_first_sub_category=(value) click to toggle source
Calls superclass method
# File spaceship/lib/spaceship/tunes/app_details.rb, line 100
def primary_first_sub_category=(value)
  value = prefix_apps(value)
  value = prefix_mzgenre(value)
  super(value)
end
primary_second_sub_category=(value) click to toggle source
Calls superclass method
# File spaceship/lib/spaceship/tunes/app_details.rb, line 106
def primary_second_sub_category=(value)
  value = prefix_apps(value)
  value = prefix_mzgenre(value)
  super(value)
end
save!() click to toggle source

Push all changes that were made back to App Store Connect

# File spaceship/lib/spaceship/tunes/app_details.rb, line 82
def save!
  client.update_app_details!(application.apple_id, raw_data)
rescue Spaceship::Tunes::Error => ex
  if ex.to_s == "operation_failed"
    # That's alright, we get this error message if nothing has changed
  else
    raise ex
  end
end
secondary_category=(value) click to toggle source
Calls superclass method
# File spaceship/lib/spaceship/tunes/app_details.rb, line 112
def secondary_category=(value)
  value = prefix_apps(value)
  value = prefix_mzgenre(value)
  super(value)
end
secondary_first_sub_category=(value) click to toggle source
Calls superclass method
# File spaceship/lib/spaceship/tunes/app_details.rb, line 118
def secondary_first_sub_category=(value)
  value = prefix_apps(value)
  value = prefix_mzgenre(value)
  super(value)
end
secondary_second_sub_category=(value) click to toggle source
Calls superclass method
# File spaceship/lib/spaceship/tunes/app_details.rb, line 124
def secondary_second_sub_category=(value)
  value = prefix_apps(value)
  value = prefix_mzgenre(value)
  super(value)
end
setup() click to toggle source

@!group General

# File spaceship/lib/spaceship/tunes/app_details.rb, line 133
def setup; end
unfold_languages() click to toggle source

Prefill name, privacy url

# File spaceship/lib/spaceship/tunes/app_details.rb, line 70
def unfold_languages
  {
    name: :name,
    subtitle: :subtitle,
    privacyPolicyUrl: :privacy_url,
    privacyPolicy: :apple_tv_privacy_policy
  }.each do |json, attribute|
    instance_variable_set("@#{attribute}".to_sym, LanguageItem.new(json, languages))
  end
end

Private Instance Methods

prefix_apps(value) click to toggle source
# File spaceship/lib/spaceship/tunes/app_details.rb, line 141
def prefix_apps(value)
  return value unless value.include?("Stickers")
  value.include?("Apps") ? value : "Apps.#{value}"
end
prefix_mzgenre(value) click to toggle source
# File spaceship/lib/spaceship/tunes/app_details.rb, line 137
def prefix_mzgenre(value)
  value.include?("MZGenre") ? value : "MZGenre.#{value}"
end