class PayU::Plan

Constants

ENDPOINT

Public Class Methods

new_from_api(params) click to toggle source
Calls superclass method
# File lib/pay_u/plan.rb, line 21
def self.new_from_api(params)
  plan = super(params)

  plan.code = params["planCode"]
  plan.currency = params["additionalValues"].first["currency"].to_s
  plan.data = params["additionalValues"].inject({}) do |memo, hash|
    memo.merge(hash["name"].to_s => hash["value"])
  end

  plan
end

Public Instance Methods

to_params() click to toggle source
# File lib/pay_u/plan.rb, line 34
def to_params
  {
    accountId: account_id,
    planCode: code,
    description: description,
    interval: interval,
    intervalCount: interval_count,
    maxPaymentsAllowed: max_payments_allowed,
    paymentAttemptsDelay: payment_attempts_delay,
    additionalValues: data.map do |name, value|
      {name: name, value: value, currency: currency.to_s}
    end,
  }
end
to_update_params() click to toggle source
# File lib/pay_u/plan.rb, line 50
def to_update_params
  {
    planCode: code,
    description: description,
    paymentAttemptsDelay: payment_attempts_delay,
    maxPendingPayments: max_pending_payments,
    maxPaymentAttempts: max_payment_attempts,
    additionalValues: data.map do |name, value|
      {name: name, value: value, currency: currency.to_s}
    end,
  }
end

Private Instance Methods

identifier() click to toggle source
# File lib/pay_u/plan.rb, line 64
        def identifier
  code
end