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