Class: MyMoip::PaymentSlip

Inherits:
Object
  • Object
show all
Includes:
ActiveModel::Validations, Validators
Defined in:
lib/mymoip/payment_slip.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(attrs) ⇒ PaymentSlip

Returns a new instance of PaymentSlip.



22
23
24
25
26
# File 'lib/mymoip/payment_slip.rb', line 22

def initialize(attrs)
  attrs.each do |attr, value|
    public_send(:"#{attr}=", value)
  end
end

Instance Attribute Details

#expiration_dateObject

Returns the value of attribute expiration_date.



6
7
8
# File 'lib/mymoip/payment_slip.rb', line 6

def expiration_date
  @expiration_date
end

#expiration_daysObject

Returns the value of attribute expiration_days.



6
7
8
# File 'lib/mymoip/payment_slip.rb', line 6

def expiration_days
  @expiration_days
end

#expiration_days_typeObject

Returns the value of attribute expiration_days_type.



6
7
8
# File 'lib/mymoip/payment_slip.rb', line 6

def expiration_days_type
  @expiration_days_type
end

#instruction_line_1Object

Returns the value of attribute instruction_line_1.



6
7
8
# File 'lib/mymoip/payment_slip.rb', line 6

def instruction_line_1
  @instruction_line_1
end

#instruction_line_2Object

Returns the value of attribute instruction_line_2.



6
7
8
# File 'lib/mymoip/payment_slip.rb', line 6

def instruction_line_2
  @instruction_line_2
end

#instruction_line_3Object

Returns the value of attribute instruction_line_3.



6
7
8
# File 'lib/mymoip/payment_slip.rb', line 6

def instruction_line_3
  @instruction_line_3
end

#logo_urlObject

Returns the value of attribute logo_url.



6
7
8
# File 'lib/mymoip/payment_slip.rb', line 6

def logo_url
  @logo_url
end

Instance Method Details

#to_xml(root = nil) ⇒ Object

Raises:



28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
# 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