lib/cieloz/requisicao_transacao/forma_pagamento.rb in cieloz-0.0.13 vs lib/cieloz/requisicao_transacao/forma_pagamento.rb in cieloz-0.0.14

- old
+ new

@@ -30,9 +30,25 @@ validates :bandeira, inclusion: { in: BANDEIRAS_DEBITO }, if: "@produto == DEBITO" validates :bandeira, inclusion: { in: Cieloz::Bandeiras::ALL }, if: "@produto == CREDITO" validates :bandeira, inclusion: { in: BANDEIRAS_PARCELAMENTO }, if: "[ PARCELADO_LOJA, PARCELADO_ADM ].include? @produto" + + def self.map_debito(source, opts={}) + bandeira = attrs_from source, opts, :bandeira + new(source: source, opts: opts).debito bandeira + end + + def self.map_credito(source, opts={}) + bandeira = attrs_from source, opts, :bandeira + new(source: source, opts: opts).credito bandeira + end + + def self.map_parcelado source, opts={} + bandeira, parcelas = attrs_from source, opts, :bandeira, :parcelas + new(source: source, opts: opts).parcelado bandeira, parcelas + end + def attributes { bandeira: @bandeira, produto: @produto, parcelas: @parcelas