Sha256: e75bad8fdea915497414912691d86d30b07655c4a869e57add4b16be7100fd98

Contents?: true

Size: 962 Bytes

Versions: 5

Compression:

Stored size: 962 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

    def serialize_params(options = {})
      @values[:items] = Util.array_to_hash(@values[:items]) if @values[:items]
      super
    end

    private

    def discount_url
      resource_url + "/discount"
    end
  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
stripe-3.14.0 lib/stripe/subscription.rb
stripe-3.13.1 lib/stripe/subscription.rb
stripe-3.13.0 lib/stripe/subscription.rb
stripe-3.12.1 lib/stripe/subscription.rb
stripe-3.12.0 lib/stripe/subscription.rb