Sha256: fd117ea26c56ffa8be34d60bea594129aaedf7be91f3c476f70b654dcf3a08bb

Contents?: true

Size: 814 Bytes

Versions: 1

Compression:

Stored size: 814 Bytes

Contents

module Chargify
  class Allocation < Base
    self.prefix = "/subscriptions/:subscription_id/components/:component_id/"

    def self.bulk_create_prefix(opts = {})
      subscription_id = opts[:subscription_id]
      raise ArgumentError, 'subscription_id required' if subscription_id.nil?

      "/subscriptions/#{subscription_id}/allocations.#{format.extension}"
    end

    def self.bulk_create(opts = {})
      return [] if opts[:allocations].blank?

      subscription_id = opts.delete(:subscription_id)
      raise ArgumentError, 'subscription_id required' if subscription_id.nil?

      response = connection.post(
        bulk_create_prefix(subscription_id: subscription_id),
        format.encode(opts),
        headers
      )
      instantiate_collection(format.decode(response.body))
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
chargify_api_ares-1.4.2 lib/chargify_api_ares/resources/allocation.rb