Sha256: 9ef4ce7369dcb1ea0704ad6b0e741ce8ac33c1f571a434293e9472bb1d2a9266

Contents?: true

Size: 1.47 KB

Versions: 236

Compression:

Stored size: 1.47 KB

Contents

module Spaceship
  module Tunes
    # Represents one attribute (e.g. name) of an app in multiple languages
    class LanguageItem
      attr_accessor :identifier # title or description
      attr_accessor :original_array # reference to original array

      def initialize(identifier, ref)
        raise "ref is nil" if ref.nil?

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

      def [](key)
        get_lang(key)[identifier]['value']
      end

      def []=(key, value)
        get_lang(key)[identifier]['value'] = value
      end

      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

      # @return (Array) An array containing all languages that are already available
      def keys
        self.original_array.collect { |l| l.fetch('language') }
      end

      # @return (Array) An array containing all languages that are already available
      #   alias for keys
      def languages
        keys
      end

      def inspect
        result = ""
        self.original_array.collect do |current|
          result += "#{current.fetch('language')}: #{current.fetch(identifier, {}).fetch('value')}\n"
        end
        result
      end

      def to_s
        inspect
      end
    end
  end
end

Version data entries

236 entries across 236 versions & 2 rubygems

Version Path
fastlane-2.38.0.beta.20170610010032 spaceship/lib/spaceship/tunes/language_item.rb
fastlane-2.38.0.beta.20170609010035 spaceship/lib/spaceship/tunes/language_item.rb
fastlane-2.38.0.beta.20170608010030 spaceship/lib/spaceship/tunes/language_item.rb
fastlane-2.38.0.beta.20170607010024 spaceship/lib/spaceship/tunes/language_item.rb
fastlane-2.38.0.beta.20170606010029 spaceship/lib/spaceship/tunes/language_item.rb
fastlane-2.37.0 spaceship/lib/spaceship/tunes/language_item.rb
fastlane-2.37.0.beta.20170605010054 spaceship/lib/spaceship/tunes/language_item.rb
fastlane-2.37.0.beta.20170604010021 spaceship/lib/spaceship/tunes/language_item.rb
fastlane-2.37.0.beta.20170603010102 spaceship/lib/spaceship/tunes/language_item.rb
fastlane-2.37.0.beta.20170602010027 spaceship/lib/spaceship/tunes/language_item.rb
fastlane-2.37.0.beta.20170601010043 spaceship/lib/spaceship/tunes/language_item.rb
fastlane-2.36.0 spaceship/lib/spaceship/tunes/language_item.rb
fastlane-2.36.0.beta.20170531010050 spaceship/lib/spaceship/tunes/language_item.rb
fastlane-2.36.0.beta.20170530010040 spaceship/lib/spaceship/tunes/language_item.rb
fastlane-2.36.0.beta.20170529010025 spaceship/lib/spaceship/tunes/language_item.rb
fastlane-2.36.0.beta.20170528010028 spaceship/lib/spaceship/tunes/language_item.rb
fastlane-2.36.0.beta.20170527010029 spaceship/lib/spaceship/tunes/language_item.rb
fastlane-2.35.1 spaceship/lib/spaceship/tunes/language_item.rb
fastlane-2.36.0.beta.20170526010038 spaceship/lib/spaceship/tunes/language_item.rb
fastlane-2.36.0.beta.20170525010052 spaceship/lib/spaceship/tunes/language_item.rb