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

- old
+ new

@@ -37,9 +37,33 @@ txn.validates :url_retorno, length: { maximum: 1024 } end validates :campo_livre, length: { maximum: 128 } + def self.map(source, opts={}) + portador, pedido, pagamento, url, capturar, campo_livre = + attrs_from source, opts, :dados_portador, :dados_pedido, + :forma_pagamento, :url_retorno, :capturar, :campo_livre + + url ||= Cieloz::Configuracao.url_retorno + + txn = new source: source, opts: opts, dados_portador: portador, + dados_pedido: pedido, forma_pagamento: pagamento, + campo_livre: campo_livre, url_retorno: url, + dados_ec: Cieloz::Configuracao.credenciais + + capturar ||= Cieloz::Configuracao.captura_automatica + + case capturar.to_s + when 'true' then txn.capturar_automaticamente + else txn.nao_capturar_automaticamente + end + + txn.send pagamento.metodo_autorizacao if pagamento + + txn + end + def nested_validations nested_attrs = [ :dados_ec, :dados_pedido, :forma_pagamento ] nested_attrs << :dados_portador if Cieloz::Configuracao.store_mode? nested_attrs.each { |attr|