Sha256: 8a66372c08a7201f856432add48e8efe0f6f1acaeb8fe8a34431e543ae9fd814

Contents?: true

Size: 1.27 KB

Versions: 2

Compression:

Stored size: 1.27 KB

Contents

module Squall
  # OnApp Payment
  class Payment < Base
    # Public: Lists all payments.
    #
    # Returns an Array.
    def list(user_id)
      response = request(:get, "/users/#{user_id}/payments.json")
      response.collect { |user| user['payment'] }
    end

    # Public: Create a payment for a user.
    #
    # user_id - ID of the user
    # options - Params for creating the User:
    #           :amount         - Amount of the payment
    #           :invoice_number - Number of the invoice
    #
    # Example
    #
    #     create amount: 500, invoice_number: "01234"
    #
    # Returns a Hash.
    def create(user_id, options = {})
      request(:post, "/users/#{user_id}/payments.json", default_params(options))
    end

    # Public: Edit a payment
    #
    # user_id - ID of the user
    # id      - ID of the payment
    # options - Params for editing the payment, see `#create`
    #
    # Returns a Hash.
    def edit(user_id, id, options = {})
      request(:put, "/users/#{user_id}/payments/#{id}.json", default_params(options))
    end

    # Public: Delete a payment
    #
    # user_id - ID of the user
    # id      - ID of the payment
    #
    # Returns a Hash.
    def delete(user_id, id)
      request(:delete, "/users/#{user_id}/payments/#{id}.json")
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
squall-1.4.0 lib/squall/payment.rb
squall-1.3.1 lib/squall/payment.rb