class RocketPaysRailsApi::Invoice
Attributes
cancel_url[RW]
Set cancel_url
currency[RW]
Set currency
customer_email[RW]
Set customer email
customer_name[RW]
Set customer name
delivery_fee[RW]
Set shipping
discounts[RW]
Set discounts
invoice_description[RW]
number[RW]
Set number
products[RW]
Set products
success_url[RW]
Set success_url
Public Class Methods
new(options = {})
click to toggle source
# File lib/rocket_pays_rails_api/invoice.rb, line 37 def initialize(options = {}) @number = options[:number] @invoice_description = options[:invoice_description] @customer_name = options[:customer_name] @customer_email = options[:customer_email] @currency = options[:currency] || 'USD' @discounts = options[:discounts] || 0.0 @delivery_fee = options[:delivery_fee] || 0.0 @success_url = options[:success_url] @cancel_url = options[:cancel_url] @products = [] end
Public Instance Methods
add_product(product)
click to toggle source
# File lib/rocket_pays_rails_api/invoice.rb, line 54 def add_product(product) @products.push product end
to_json()
click to toggle source
# File lib/rocket_pays_rails_api/invoice.rb, line 50 def to_json JSON.generate to_hash end
Private Instance Methods
products_not_empty()
click to toggle source
# File lib/rocket_pays_rails_api/invoice.rb, line 77 def products_not_empty return nil if @products.any? errors.add(:products, 'Products should not be empty') end
to_hash()
click to toggle source
# File lib/rocket_pays_rails_api/invoice.rb, line 60 def to_hash { invoice: { invoiceNumber: @number, invoiceDescription: @invoice_description, customerName: @customer_name, customerEmail: @customer_email, invoiceDiscounts: @discounts.to_s, invoiceCurrency: @currency, invoiceDeliveryFee: @delivery_fee.to_s, invoiceProducts: @products.map { |product| product.to_hash} }, successUrl: @success_url, cancelUrl: @cancel_url } end