Sha256: 582567ffc769ceb1f8331a90c5074e973b68d888f8f0707bb05bd4a51035aaa2

Contents?: true

Size: 794 Bytes

Versions: 6

Compression:

Stored size: 794 Bytes

Contents

# frozen_string_literal: true

module IronBank
  module Resources
    # A Zuora subscription, belongs to an account, holds rate plans and is
    # versioned through each amendment.
    #
    class Subscription < Resource
      with_schema
      with_cache

      with_one :account
      with_one :invoice_owner, resource_name: 'Account'

      with_one :original, resource_name: 'Subscription'
      with_one :previous,
               resource_name: 'Subscription',
               foreign_key: 'previous_subscription_id'

      with_many :rate_plans, aka: :plans
      with_many :usages

      # FIXME: a subscription can only have at most one amendment (no amendment
      # for the last version) but there are no `AmendmentId` on a subscription.
      with_many :amendments
    end
  end
end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
iron_bank-1.0.4 lib/iron_bank/resources/subscription.rb
iron_bank-1.0.3 lib/iron_bank/resources/subscription.rb
iron_bank-1.0.2 lib/iron_bank/resources/subscription.rb
iron_bank-1.0.1 lib/iron_bank/resources/subscription.rb
iron_bank-1.0.0 lib/iron_bank/resources/subscription.rb
iron_bank-0.7.1 lib/iron_bank/resources/subscription.rb