Sha256: c8e126ecf7770bdfb7a07b165e9e7d05fd462dedb86d34751cc4a6d086a7bce3

Contents?: true

Size: 882 Bytes

Versions: 3

Compression:

Stored size: 882 Bytes

Contents

module ChartMogul
  class Subscription < APIResource
    set_resource_name 'Subscription'
    set_resource_path '/v1/import/customers/:customer_uuid/subscriptions'
    set_resource_root_key :subscriptions

    readonly_attr :uuid
    readonly_attr :external_id
    readonly_attr :cancellation_dates, default: []

    readonly_attr :plan_uuid
    readonly_attr :data_source_uuid

    include API::Actions::All
    include API::Actions::Custom

    def set_cancellation_dates(cancellation_dates_array)
      @cancellation_dates = cancellation_dates_array.map do |cancellation_date|
        Time.parse(cancellation_date)
      end
    end

    def cancel(cancelled_at)
      custom!(:patch, "/v1/import/subscriptions/#{uuid}", cancelled_at: cancelled_at)
    end

    def self.all(customer_uuid, options = {})
      super(options.merge(customer_uuid: customer_uuid))
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
chartmogul-ruby-1.0.2 lib/chartmogul/subscription.rb
chartmogul-ruby-1.0.1 lib/chartmogul/subscription.rb
chartmogul-ruby-1.0.0 lib/chartmogul/subscription.rb