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 spaceship/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 spaceship/lib/spaceship/tunes/language_item.rb, line 15
def [](key)
  get_value(key: key)
end
[]=(key, value) click to toggle source
# File spaceship/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 spaceship/lib/spaceship/tunes/language_item.rb, line 27
def get_lang(lang)
  result = self.original_array.find do |current|
    lang = lang.to_s
    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
get_value(key: nil) click to toggle source
# File spaceship/lib/spaceship/tunes/language_item.rb, line 23
def get_value(key: nil)
  get_lang(key)[identifier]['value']
end
inspect() click to toggle source
# File spaceship/lib/spaceship/tunes/language_item.rb, line 48
def inspect
  result = ""
  self.original_array.collect do |current|
    result += "#{current['language'] ||= current['localeCode']}: #{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 spaceship/lib/spaceship/tunes/language_item.rb, line 38
def keys
  return self.original_array.map { |current| current['language'] ||= current['localeCode'] } # Apple being consistent
end
languages() click to toggle source

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

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