Sha256: 998da1a3ad82a5cf00d8bfa89368003d831229b73e301d838c411f4080e0a7da

Contents?: true

Size: 893 Bytes

Versions: 8

Compression:

Stored size: 893 Bytes

Contents

module MyMoip
  class Instruction
    attr_accessor :id, :payment_reason, :values, :payer

    def initialize(attrs)
      @id             = attrs[:id]             if attrs.has_key?(:id)
      @payment_reason = attrs[:payment_reason] if attrs.has_key?(:payment_reason)
      @values         = attrs[:values]         if attrs.has_key?(:values)
      @payer          = attrs[:payer]          if attrs.has_key?(:payer)
    end

    def to_xml(root = nil)

      xml  = ""
      root = Builder::XmlMarkup.new(target: xml)

      root.EnviarInstrucao do |n1|
        n1.InstrucaoUnica(TipoValidacao: "Transparente") do |n2|
          n2.Razao(@payment_reason)
          n2.Valores do |n3|
            @values.each { |v| n3.Valor("%.2f" % v, moeda: "BRL") }
          end
          n2.IdProprio(@id)
          n2.Pagador { |n3| @payer.to_xml(n3) }
        end
      end

      xml
    end
  end
end

Version data entries

8 entries across 8 versions & 1 rubygems

Version Path
mymoip-0.2.6 lib/mymoip/instruction.rb
mymoip-0.2.5 lib/mymoip/instruction.rb
mymoip-0.2.4 lib/mymoip/instruction.rb
mymoip-0.2.3 lib/mymoip/instruction.rb
mymoip-0.2.2 lib/mymoip/instruction.rb
mymoip-0.2.1 lib/mymoip/instruction.rb
mymoip-0.2.0 lib/instruction.rb
mymoip-0.1.0 lib/instruction.rb