Sha256: 36df4e5bde51d613048f98df9034a27a4429b1cf4d911527fafadf8f71d5f0f3

Contents?: true

Size: 1.72 KB

Versions: 109

Compression:

Stored size: 1.72 KB

Contents

module Spaceship
  module Tunes
    class IAPFamilyDetails < TunesBase
      # @return (Spaceship::Tunes::Application) A reference to the application
      attr_accessor :application

      # @return (String) the family name
      attr_accessor :name

      # @return (Intger) the Family Id
      attr_accessor :family_id

      attr_mapping({
        'id' => :family_id,
        'name.value' => :name
      })

      class << self
        def factory(attrs)
          return self.new(attrs)
        end
      end

      # @return (Hash) localized names
      def versions
        parsed_versions = {}
        raw_versions = raw_data["details"]["value"]
        raw_versions.each do |version|
          language = version["value"]["localeCode"]["value"]
          parsed_versions[language.to_sym] = {
            subscription_name: version["value"]["subscriptionName"]["value"],
            name: version["value"]["name"]["value"]
          }
        end
        return parsed_versions
      end

      # modify existing family
      def save!
        # Transform localization versions back to original format.
        versions_array = []
        versions.each do |language_code, value|
          versions_array << {
                               value: {
                                 subscriptionName: { value: value[:subscription_name] },
                                 name: { value: value[:name] },
                                 localeCode: { value: language_code.to_s }
                               }
                            }
        end

        raw_data.set(["details"], { value: versions_array })

        client.update_iap_family!(app_id: application.apple_id, family_id: self.family_id, data: raw_data)
      end
    end
  end
end

Version data entries

109 entries across 109 versions & 1 rubygems

Version Path
fastlane-2.28.0.beta.20170419010123 spaceship/lib/spaceship/tunes/iap_family_details.rb
fastlane-2.28.0.beta.20170418010021 spaceship/lib/spaceship/tunes/iap_family_details.rb
fastlane-2.28.0.beta.20170417010100 spaceship/lib/spaceship/tunes/iap_family_details.rb
fastlane-2.28.0.beta.20170416010028 spaceship/lib/spaceship/tunes/iap_family_details.rb
fastlane-2.28.0.beta.20170415010110 spaceship/lib/spaceship/tunes/iap_family_details.rb
fastlane-2.27.0 spaceship/lib/spaceship/tunes/iap_family_details.rb
fastlane-2.27.0.beta.20170414010035 spaceship/lib/spaceship/tunes/iap_family_details.rb
fastlane-2.27.0.beta.20170413010117 spaceship/lib/spaceship/tunes/iap_family_details.rb
fastlane-2.27.0.beta.20170412010036 spaceship/lib/spaceship/tunes/iap_family_details.rb
fastlane-2.27.0.beta.20170411010118 spaceship/lib/spaceship/tunes/iap_family_details.rb
fastlane-2.27.0.beta.20170410010020 spaceship/lib/spaceship/tunes/iap_family_details.rb
fastlane-2.27.0.beta.20170409010031 spaceship/lib/spaceship/tunes/iap_family_details.rb
fastlane-2.26.1 spaceship/lib/spaceship/tunes/iap_family_details.rb
fastlane-2.27.0.beta.20170408010009 spaceship/lib/spaceship/tunes/iap_family_details.rb
fastlane-2.27.0.beta.20170407010056 spaceship/lib/spaceship/tunes/iap_family_details.rb
fastlane-2.26.0 spaceship/lib/spaceship/tunes/iap_family_details.rb
fastlane-2.26.0.beta.20170406010019 spaceship/lib/spaceship/tunes/iap_family_details.rb
fastlane-2.26.0.beta.20170405010026 spaceship/lib/spaceship/tunes/iap_family_details.rb
fastlane-2.26.0.beta.20170404010022 spaceship/lib/spaceship/tunes/iap_family_details.rb
fastlane-2.25.0 spaceship/lib/spaceship/tunes/iap_family_details.rb