class MyMoip::PaymentSlip

Attributes

expiration_date[RW]
expiration_days[RW]
expiration_days_type[RW]
instruction_line_1[RW]
instruction_line_2[RW]
instruction_line_3[RW]
logo_url[RW]

Public Class Methods

new(attrs) click to toggle source
# File lib/mymoip/payment_slip.rb, line 22
def initialize(attrs)
  attrs.each do |attr, value|
    public_send(:"#{attr}=", value)
  end
end

Public Instance Methods

to_xml(root = nil) click to toggle source
# File lib/mymoip/payment_slip.rb, line 28
def to_xml(root = nil)
  raise InvalidPaymentSlip if invalid?

  if root.nil?
    xml = ""
    root ||= Builder::XmlMarkup.new(target: xml)
  end

  root.DataVencimento(expiration_date.strftime('%Y-%m-%dT%H:%M:%S.%L%:z')) unless expiration_date.blank?

  if expiration_days
    type = nil
    if expiration_days_type
      if expiration_days_type == :business_day
        type = {'Tipo' => 'Uteis'}
      elsif expiration_days_type == :calendar_day
        type = {'Tipo' => 'Corridos'}
      end
    end

    root.DiasExpiracao(expiration_days, type)
  end

  root.Instrucao1(instruction_line_1) unless instruction_line_1.blank?
  root.Instrucao2(instruction_line_2) unless instruction_line_2.blank?
  root.Instrucao3(instruction_line_3) unless instruction_line_3.blank?

  root.URLLogo(logo_url) unless logo_url.blank?

  xml
end

Private Instance Methods

expiration_date_format() click to toggle source
# File lib/mymoip/payment_slip.rb, line 68
def expiration_date_format
  if not expiration_date.blank? and not expiration_date.instance_of?(DateTime)
    errors.add(:expiration_date, 'Expiration date must be a DateTime object.')
  end
end
logo_url_format() click to toggle source
# File lib/mymoip/payment_slip.rb, line 62
def logo_url_format
  if not logo_url.blank? and not valid_url?(logo_url)
    errors.add(:logo_url, 'Invalid URL format.')
  end
end