class PagSeguro::ManualSubscriptionCharger::RequestSerializer
Attributes
object[R]
Public Class Methods
new(object)
click to toggle source
# File lib/pagseguro/manual_subscription_charger/request_serializer.rb, line 6 def initialize(object) @object = object end
Public Instance Methods
to_xml_params()
click to toggle source
# File lib/pagseguro/manual_subscription_charger/request_serializer.rb, line 10 def to_xml_params xml_builder.to_xml( save_with: Nokogiri::XML::Node::SaveOptions::NO_EMPTY_TAGS | Nokogiri::XML::Node::SaveOptions::FORMAT ) end
Private Instance Methods
to_amount(amount = 0.0)
click to toggle source
# File lib/pagseguro/manual_subscription_charger/request_serializer.rb, line 20 def to_amount(amount = 0.0) "%.2f" % BigDecimal(amount.to_s).round(2).to_s("F") end
xml_builder()
click to toggle source
# File lib/pagseguro/manual_subscription_charger/request_serializer.rb, line 39 def xml_builder Nokogiri::XML::Builder.new(encoding: PagSeguro.encoding) do |xml| xml.send(:payment) { xml.send(:reference, object.reference) xml.send(:preApprovalCode, object.subscription_code) xml_serialize_items(xml, object.items) } end end
xml_serialize_items(xml, items = [])
click to toggle source
# File lib/pagseguro/manual_subscription_charger/request_serializer.rb, line 24 def xml_serialize_items(xml, items = []) return if items.empty? xml.send(:items) do items.each do |item| xml.send(:item) do xml.send(:id, item.id) xml.send(:description, item.description) xml.send(:quantity, item.quantity) xml.send(:amount, to_amount(item.amount)) end end end end