class Spaceship::Tunes::LanguageItem

Represents one attribute (e.g. name) of an app in multiple languages

Attributes

identifier[RW]
original_array[RW]

Public Class Methods

new(identifier, ref) click to toggle source
# File lib/spaceship/tunes/language_item.rb, line 8
def initialize(identifier, ref)
  raise "ref is nil" if ref.nil?

  self.identifier = identifier.to_s
  self.original_array = ref
end

Public Instance Methods

[](key) click to toggle source
# File lib/spaceship/tunes/language_item.rb, line 15
def [](key)
  get_lang(key)[identifier]['value']
end
[]=(key, value) click to toggle source
# File lib/spaceship/tunes/language_item.rb, line 19
def []=(key, value)
  get_lang(key)[identifier]['value'] = value
end
get_lang(lang) click to toggle source
# File lib/spaceship/tunes/language_item.rb, line 23
def get_lang(lang)
  result = self.original_array.find do |current|
    current['language'] == lang or current['localeCode'] == lang # Apple being consistent
  end
  return result if result

  raise "Language '#{lang}' is not activated / available for this app version."
end
inspect() click to toggle source
# File lib/spaceship/tunes/language_item.rb, line 43
def inspect
  result = ""
  self.original_array.collect do |current|
    result += "#{current.fetch('language')}: #{current.fetch(identifier, {}).fetch('value')}\n"
  end
  result
end
keys() click to toggle source

@return (Array) An array containing all languages that are already available

# File lib/spaceship/tunes/language_item.rb, line 33
def keys
  self.original_array.collect { |l| l.fetch('language') }
end
languages() click to toggle source

@return (Array) An array containing all languages that are already available

alias for keys
# File lib/spaceship/tunes/language_item.rb, line 39
def languages
  keys
end
to_s() click to toggle source
# File lib/spaceship/tunes/language_item.rb, line 51
def to_s
  inspect
end