class PagSeguro::SubscriptionDiscount::RequestSerializer

Attributes

object[R]

Public Class Methods

new(object) click to toggle source
# File lib/pagseguro/subscription_discount/request_serializer.rb, line 6
def initialize(object)
  @object = object
end

Public Instance Methods

to_xml_params() click to toggle source
# File lib/pagseguro/subscription_discount/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) click to toggle source
# File lib/pagseguro/subscription_discount/request_serializer.rb, line 20
def to_amount(amount)
  "%.2f" % BigDecimal(amount.to_s).round(2).to_s("F") if amount
end
xml_builder() click to toggle source
# File lib/pagseguro/subscription_discount/request_serializer.rb, line 24
def xml_builder
  Nokogiri::XML::Builder.new(encoding: PagSeguro.encoding) do |xml|
    xml.send(:directPreApproval) {
      xml.send(:type, object.type)
      xml.send(:value, to_amount(object.value))
    }
  end
end