Sha256: 55c65f0aced528e22528cdd912c5fb0c84493b15ee5323a07cc7b8d5e8b452fa

Contents?: true

Size: 1.03 KB

Versions: 3

Compression:

Stored size: 1.03 KB

Contents

# frozen_string_literal: true

module Stripe
  class SubscriptionSchedule < APIResource
    extend Stripe::APIOperations::Create
    extend Stripe::APIOperations::List
    include Stripe::APIOperations::Save
    extend Stripe::APIOperations::NestedResource

    OBJECT_NAME = "subscription_schedule".freeze

    custom_method :cancel, http_verb: :post
    custom_method :release, http_verb: :post

    nested_resource_class_methods :revision,
                                  operations: %i[retrieve list]

    def cancel(params = {}, opts = {})
      url = resource_url + "/cancel"
      resp, opts = request(:post, url, params, opts)
      initialize_from(resp.data, opts)
    end

    def release(params = {}, opts = {})
      url = resource_url + "/release"
      resp, opts = request(:post, url, params, opts)
      initialize_from(resp.data, opts)
    end

    def revisions(params = {}, opts = {})
      resp, opts = request(:get, resource_url + "/revisions", params, opts)
      Util.convert_to_stripe_object(resp.data, opts)
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
stripe-4.18.1 lib/stripe/subscription_schedule.rb
stripe-4.18.0 lib/stripe/subscription_schedule.rb
stripe-4.17.0 lib/stripe/subscription_schedule.rb