Sha256: 398bbb84fa989276f7f27fea34c2cbc1eaa2f4b2c8c7a3f306361a43490f7f24

Contents?: true

Size: 1.05 KB

Versions: 5

Compression:

Stored size: 1.05 KB

Contents

# frozen_string_literal: true

module Stripe
  class SubscriptionSchedule < APIResource
    extend Stripe::APIOperations::List
    extend Stripe::APIOperations::Create
    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, Util.normalize_opts(opts))
      Util.convert_to_stripe_object(resp.data, opts)
    end
  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
stripe-4.16.0 lib/stripe/subscription_schedule.rb
stripe-4.15.0 lib/stripe/subscription_schedule.rb
stripe-4.14.0 lib/stripe/subscription_schedule.rb
stripe-4.13.0 lib/stripe/subscription_schedule.rb
stripe-4.12.0 lib/stripe/subscription_schedule.rb