Sha256: a28f267ecd8d3a132c9adadfe04acf6445f5c7c0334aac1993a3004edab69289

Contents?: true

Size: 823 Bytes

Versions: 4

Compression:

Stored size: 823 Bytes

Contents

module Stripe
  class Subscription < APIResource
    extend Stripe::APIOperations::List
    extend Stripe::APIOperations::Create
    include Stripe::APIOperations::Save
    include Stripe::APIOperations::Delete

    OBJECT_NAME = "subscription".freeze

    save_nested_resource :source

    def delete_discount
      _, opts = request(:delete, discount_url)
      initialize_from({ discount: nil }, opts, true)
    end

    def self.update(id, params = {}, opts = {})
      params[:items] = Util.array_to_hash(params[:items]) if params[:items]
      super(id, params, opts)
    end

    def self.create(params = {}, opts = {})
      params[:items] = Util.array_to_hash(params[:items]) if params[:items]
      super(params, opts)
    end

    private

    def discount_url
      resource_url + "/discount"
    end
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
stripe-3.5.2 lib/stripe/subscription.rb
stripe-3.5.1 lib/stripe/subscription.rb
stripe-3.5.0 lib/stripe/subscription.rb
stripe-3.4.1 lib/stripe/subscription.rb