class Atol::Request::PostDocument::Item::Body
Constants
- BadPaymentMethodError
- BadPaymentObjectError
- PAYMENT_METHODS
- PAYMENT_OBJECTS
Attributes
config[RW]
name[RW]
payment_method[RW]
payment_object[RW]
price[RW]
quantity[RW]
Public Class Methods
new(config: nil, name:, price:, quantity: 1, payment_method:, payment_object:)
click to toggle source
# File lib/atol/request/post_document/item/body.rb, line 26 def initialize(config: nil, name:, price:, quantity: 1, payment_method:, payment_object:) raise Atol::ZeroItemQuantityError if quantity.to_f.zero? raise BadPaymentMethodError unless PAYMENT_METHODS.include?(payment_method.to_s) raise BadPaymentObjectError unless PAYMENT_OBJECTS.include?(payment_object.to_s) self.config = config || Atol.config self.name = name self.price = price.to_f self.quantity = quantity.to_f self.payment_method = payment_method.to_s self.payment_object = payment_object.to_s end
Public Instance Methods
to_h()
click to toggle source
# File lib/atol/request/post_document/item/body.rb, line 39 def to_h body.clone end
to_json(*_args)
click to toggle source
# File lib/atol/request/post_document/item/body.rb, line 43 def to_json(*_args) body.to_json end
Private Instance Methods
body()
click to toggle source
# File lib/atol/request/post_document/item/body.rb, line 49 def body @body ||= { name: name, price: price, quantity: quantity, sum: (price * quantity).round(2), tax: config.default_tax, payment_method: payment_method, payment_object: payment_object } end