Sha256: a0c2dec105b98a62c86db709bcc1ce860e21c234fed3a9cae233a044d06979da

Contents?: true

Size: 862 Bytes

Versions: 3

Compression:

Stored size: 862 Bytes

Contents

# frozen_string_literal: true
require_relative 'publisher_client/client_builder'

module AndroidInAppBilling
  # Client for android publisher v2 API
  #
  # @see https://developers.google.com/android-publisher/api-ref/
  #
  class PublisherClient
    def initialize
      @client = ClientBuilder.build
    end

    # @param product_id [String]
    # @param token [String]
    # @return [AndroidInAppBilling::SubscriptionPurchase]
    # @raise Google::Apis::ClientError
    # @raise Google::Apis::ServerError
    # @raise Signet::AuthorizationError
    def get_purchase_subscription(product_id, token)
      response = client.get_purchase_subscription(package_name, product_id, token)
      SubscriptionPurchase.new(response.to_h)
    end

    private

    attr_reader :client

    def package_name
      AndroidInAppBilling.config.package_name
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
android_in_app_billing-0.2.1 lib/android_in_app_billing/publisher_client.rb
android_in_app_billing-0.2.0 lib/android_in_app_billing/publisher_client.rb
android_in_app_billing-0.1.0 lib/android_in_app_billing/publisher_client.rb