Sha256: 4777de9b984bc9ab9eea2249b7a5c5bf3705d190e5b288153cb160eec1260ab4

Contents?: true

Size: 1.14 KB

Versions: 190

Compression:

Stored size: 1.14 KB

Contents

require_relative '../base'
require_relative '../tunes/tunes_client'

module Spaceship
  module ConnectAPI
    class Base < Spaceship::Base
      def self.client
        # Verify there is a client that can be used
        if Spaceship::Tunes.client
          # Initialize new client if new or if team changed
          if @client.nil? || @client.team_id != Spaceship::Tunes.client.team_id
            @client = Client.client_with_authorization_from(Spaceship::Tunes.client)
          end
        end

        # Need to handle not having a client but this shouldn't ever happen
        raise "Please login using `Spaceship::Tunes.login('user', 'password')`" unless @client

        @client
      end

      ##
      # Have subclasses inherit the client from their superclass
      #
      # Essentially, we are making a class-inheritable-accessor as described here:
      # https://apidock.com/rails/v4.2.7/Class/class_attribute
      def self.inherited(subclass)
        this_class = self
        subclass.define_singleton_method(:client) do
          this_class.client
        end
      end

      def to_json
        raw_data.to_json
      end
    end
  end
end

Version data entries

190 entries across 190 versions & 1 rubygems

Version Path
fastlane-2.126.0.beta.20190606200048 spaceship/lib/spaceship/connect_api/base.rb
fastlane-2.126.0.beta.20190605200119 spaceship/lib/spaceship/connect_api/base.rb
fastlane-2.126.0.beta.20190604200017 spaceship/lib/spaceship/connect_api/base.rb
fastlane-2.125.2 spaceship/lib/spaceship/connect_api/base.rb
fastlane-2.126.0.beta.20190603200020 spaceship/lib/spaceship/connect_api/base.rb
fastlane-2.125.1 spaceship/lib/spaceship/connect_api/base.rb
fastlane-2.126.0.beta.20190602200102 spaceship/lib/spaceship/connect_api/base.rb
fastlane-2.126.0.beta.20190601200101 spaceship/lib/spaceship/connect_api/base.rb
fastlane-2.125.0 spaceship/lib/spaceship/connect_api/base.rb
fastlane-2.125.0.beta.20190531200016 spaceship/lib/spaceship/connect_api/base.rb
fastlane-2.125.0.beta.20190530200013 spaceship/lib/spaceship/connect_api/base.rb
fastlane-2.124.0 spaceship/lib/spaceship/connect_api/base.rb
fastlane-2.124.0.beta.20190529200025 spaceship/lib/spaceship/connect_api/base.rb
fastlane-2.124.0.beta.20190528200017 spaceship/lib/spaceship/connect_api/base.rb
fastlane-2.124.0.beta.20190527200027 spaceship/lib/spaceship/connect_api/base.rb
fastlane-2.124.0.beta.20190526200015 spaceship/lib/spaceship/connect_api/base.rb
fastlane-2.124.0.beta.20190525200111 spaceship/lib/spaceship/connect_api/base.rb
fastlane-2.124.0.beta.20190524200022 spaceship/lib/spaceship/connect_api/base.rb
fastlane-2.124.0.beta.20190523200029 spaceship/lib/spaceship/connect_api/base.rb
fastlane-2.124.0.beta.20190522200012 spaceship/lib/spaceship/connect_api/base.rb