carterdte_smtp_filter 0.0.3.4 → 0.0.3.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 2feb3ef02e29fc033c60918e937527f183fa6390
4
- data.tar.gz: 43b02194907226b6b6327d8de4d680d2457171d8
3
+ metadata.gz: 7055df6b6f82a4aad397d0fbf3ca159a0dc16d91
4
+ data.tar.gz: 8a86125592c46b870b02d3fe4afcd2cfea7370e5
5
5
  SHA512:
6
- metadata.gz: f5d72986d1bc3e71b93b6e7b679d8cdff7d64f704fdfc4945a16ee31dcd192aa23023bc0ff58ed48fc1dda6cbae29d35740ace3568c491919a57980c70f9795e
7
- data.tar.gz: 338621ccc25d50b9c4bfbc74b360ec687393f25f8b444d4e1e69322d1c016ec7c2cba1fe0e3704795c5ac761db33afbd63e44ffee89583278c16f052095403c5
6
+ metadata.gz: 32c766d0b421c68ad68553d0ee19584cc07c50fd8ed8ede6fbdf9d4025d3c7366953dbf7c1ae01ff0e487b1836f56c9a4a2e0cf342bcce41c03cff726926438f
7
+ data.tar.gz: 80b13d792cc64598012d976ff721603fb5324be5fea6db46606bee4d4f841cb59b109007d34a0323336efc4ed2c45e37fbfd0fc82ae26a7a879ee056d35bb3bd
@@ -20,10 +20,10 @@ Gem::Specification.new do |spec|
20
20
 
21
21
  spec.add_dependency 'mail', "~> 2.6"
22
22
  spec.add_dependency "midi-smtp-server", "~> 2.0"
23
- spec.add_dependency 'xml-simple', "~> 1.1"
24
23
  spec.add_dependency "rest-client", "~> 1.7"
25
24
  spec.add_dependency "json", "~> 1.8"
26
25
  spec.add_dependency "bundler", "~> 1.6"
26
+ spec.add_dependency "nokogiri", "~> 1.6"
27
27
 
28
28
  spec.add_development_dependency "rake", "~> 10.4"
29
29
  spec.add_development_dependency "guard", "~> 2.12"
@@ -2,16 +2,16 @@ module CarterdteSmtpFilter
2
2
 
3
3
  class Dte
4
4
 
5
- VALID_NODES = %w(SetDTE Resultado)
6
- attr_accessor :dte_hash
5
+ VALID_NODES = %w(EnvioDTE RespuestaDTE)
6
+ attr_accessor :dte_xml
7
7
 
8
8
  def initialize(xml_string)
9
- @dte_hash = XmlSimple.xml_in xml_string
9
+ @dte_xml = Nokogiri::XML xml_string
10
10
  return false unless valid?
11
11
  end
12
12
 
13
13
  def valid?
14
- (dte_hash.keys & VALID_NODES).any?
14
+ VALID_NODES.include? root_name
15
15
  end
16
16
 
17
17
  def envio?
@@ -25,6 +25,7 @@ module CarterdteSmtpFilter
25
25
  def to_json
26
26
  return JSON.generate({}) unless valid?
27
27
  JSON.generate({
28
+ folio: folio,
28
29
  rut_receptor: rut_receptor,
29
30
  rut_emisor: rut_emisor,
30
31
  msg_type: msg_type,
@@ -36,53 +37,54 @@ module CarterdteSmtpFilter
36
37
  end
37
38
 
38
39
  def root_name
39
- (dte_hash.keys & VALID_NODES).first
40
+ dte_xml.root.name
40
41
  end
41
42
 
42
43
  def root_node
43
- @dte_hash[root_name].first
44
+ @dte_xml[root_name].first
44
45
  end
45
46
 
46
47
  def get_data(data)
47
- result = root_node["Caratula"].first[data].first if envio?
48
- result = root_node["RecepcionEnvio"].first[data].first if respuesta?
49
- return result.first if result.is_a? Array
50
- result
48
+ @dte_xml.at_css(data).text
51
49
  end
52
50
 
53
51
  def msg_type
54
- return "respuesta" if root_name == "Resultado"
55
- return "envio" if root_name == "SetDTE"
52
+ return "respuesta" if root_name == "RespuestaDTE"
53
+ return "envio" if root_name == "EnvioDTE"
56
54
  end
57
55
 
58
56
  def setdte_id
59
- return root_node["ID"] if envio?
60
- get_data "EnvioDTEID"
57
+ return @dte_xml.at_css("SetDTE").attribute("ID").value if envio?
58
+ value = @dte_xml.at_css("EnvioDTEID")
59
+ value.nil? ? nil : value.text
61
60
  end
62
61
 
63
62
  def rut_emisor
64
- get_data "RutEmisor"
63
+ get_data "RUTEmisor"
65
64
  end
66
65
 
67
66
  def rut_receptor
68
- get_data "RutReceptor"
67
+ get_data "RUTRecep"
69
68
  end
70
69
 
71
70
  def dte_type
72
- return root_node["Caratula"].first["SubTotDTE"].first["TpoDTE"].first if envio?
73
- return root_node["RecepcionEnvio"].first["RecepcionDTE"].first["TipoDTE"].first if respuesta?
71
+ get_data "TipoDTE"
72
+ end
73
+
74
+ def folio
75
+ get_data "Folio"
74
76
  end
75
77
 
76
78
  def fecha_emision
77
79
  time_stamp = get_data "TmstFirmaEnv" if envio?
78
- time_stamp = root_node["Caratula"].first["TmstFirmaResp"].first if respuesta?
80
+ time_stamp = get_data "TmstFirmaResp" if respuesta?
79
81
  Time.parse(time_stamp).to_date
80
82
  end
81
83
 
82
84
  def fecha_recepcion
83
85
  return nil if envio?
84
- time_stamp = get_data "FchRecep"
85
- Time.parse(time_stamp).to_date
86
+ time_stamp = @dte_xml.at_css "FchRecep"
87
+ time_stamp.nil? ? nil : Time.parse(time_stamp.text).to_date
86
88
  end
87
89
 
88
90
  end
@@ -55,6 +55,7 @@ module CarterdteSmtpFilter
55
55
 
56
56
  def save_tmp
57
57
  Dir.mkdir TMP_MESSAGE_DIR unless File.directory? TMP_MESSAGE_DIR
58
+ @logger.info("Saving File #{TMP_MESSAGE_DIR}/#{@email.message_id}.eml")
58
59
  File.open("#{TMP_MESSAGE_DIR}/#{@email.message_id}.eml", 'w') { |file| file.write(@raw_data) }
59
60
  end
60
61
 
@@ -1,3 +1,3 @@
1
1
  module CarterdteSmtpFilter
2
- VERSION = "0.0.3.4"
2
+ VERSION = "0.0.3.6"
3
3
  end
@@ -1,7 +1,7 @@
1
1
  require "midi-smtp-server"
2
2
  require "mail"
3
3
  require 'json'
4
- require 'xmlsimple'
4
+ require 'nokogiri'
5
5
  require 'time'
6
6
  require 'date'
7
7
  require 'logger'
@@ -1,5 +1,6 @@
1
1
  <?xml version="1.0" encoding="ISO-8859-1"?>
2
- <RespuestaDTE version="1.0" xmlns="http://www.sii.cl/SiiDte" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.sii.cl/SiiDte"><Resultado ID="ID68392657">
2
+ <RespuestaDTE version="1.0" xmlns="http://www.sii.cl/SiiDte" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.sii.cl/SiiDte">
3
+ <Resultado ID="ID68392657">
3
4
  <Caratula version="1.0">
4
5
  <RutResponde>81537600-5</RutResponde>
5
6
  <RutRecibe>94528000-K</RutRecibe>
@@ -0,0 +1,66 @@
1
+ <?xml version="1.0" encoding="iso-8859-1"?><RespuestaDTE xmlns="http://www.sii.cl/SiiDte" xmlns:ds="http://www.w3.org/2000/09/xmldsig#" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="1.0">
2
+ <Resultado ID="ID_635670218106091797">
3
+ <Caratula version="1.0">
4
+ <RutResponde>78481770-9</RutResponde>
5
+ <RutRecibe>96726970-0</RutRecibe>
6
+ <IdRespuesta>8106091797</IdRespuesta>
7
+ <NroDetalles>1</NroDetalles>
8
+ <NmbContacto>Andr�s Raddatz</NmbContacto>
9
+ <FonoContacto>+56954059469</FonoContacto>
10
+ <MailContacto>c.soto@wyr.cl</MailContacto>
11
+ <TmstFirmaResp>2015-05-12T01:03:30</TmstFirmaResp>
12
+ </Caratula>
13
+ <ResultadoDTE>
14
+ <TipoDTE>33</TipoDTE>
15
+ <Folio>1970747</Folio>
16
+ <FchEmis>2015-05-11</FchEmis>
17
+ <RUTEmisor>96726970-0</RUTEmisor>
18
+ <RUTRecep>78481770-9</RUTRecep>
19
+ <MntTotal>153043</MntTotal>
20
+ <CodEnvio>8106091797</CodEnvio>
21
+ <EstadoDTE>0</EstadoDTE>
22
+ <EstadoDTEGlosa>Documento aceptado conforme</EstadoDTEGlosa>
23
+ </ResultadoDTE>
24
+ </Resultado><Signature xmlns="http://www.w3.org/2000/09/xmldsig#"><SignedInfo><CanonicalizationMethod Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315" /><SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1" /><Reference URI="#ID_635670218106091797"><Transforms><Transform Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315" /></Transforms><DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1" /><DigestValue>28bNEJHRE6LYUZiCNCjqFHmiESg=</DigestValue></Reference></SignedInfo><SignatureValue>
25
+ VbReTbsDc9VQ4ijn36kG+ofCzZenA2TnCOSl9ErIVp5aRcThLVcaxA9wLIiI3vHg
26
+ eP2JB+I25cDEheOiPD3MTDpxAJpuN5+x1dAgs8YQsRkRNYKPpZCOK87aj3RgP34p
27
+ o1SY7otFVZX0SxcBqg9g4mVXsEe0r5kttFqHH2wG9+8=
28
+ </SignatureValue><KeyInfo><KeyValue><RSAKeyValue><Modulus>
29
+ rgrKNQKvjJR1++ruo3gDcyyu8rChzIReNgrTTr5sIobajyyR6ed1zXlseRTdqbK6
30
+ A3XWk3kdHlIlvW95beIiUl67e57YHqMOoQE5+M33D8AZFTyqpXBu8vl9czgftzYq
31
+ 7D1NWQnhnvCkCUbUpl+Aln/G3pXip07cH66SCL/rU3E=
32
+ </Modulus><Exponent>AQAB</Exponent></RSAKeyValue></KeyValue><X509Data><X509Certificate>
33
+ MIIF7DCCBNSgAwIBAgIKbx2f5QAAAACw4zANBgkqhkiG9w0BAQUFADCB0jELMAkG
34
+ A1UEBhMCQ0wxHTAbBgNVBAgTFFJlZ2lvbiBNZXRyb3BvbGl0YW5hMREwDwYDVQQH
35
+ EwhTYW50aWFnbzEUMBIGA1UEChMLRS1DRVJUQ0hJTEUxIDAeBgNVBAsTF0F1dG9y
36
+ aWRhZCBDZXJ0aWZpY2Fkb3JhMTAwLgYDVQQDEydFLUNFUlRDSElMRSBDQSBGSVJN
37
+ QSBFTEVDVFJPTklDQSBTSU1QTEUxJzAlBgkqhkiG9w0BCQEWGHNjbGllbnRlc0Bl
38
+ LWNlcnRjaGlsZS5jbDAeFw0xMzA2MjAxNzE3MDFaFw0xNjA2MTkxNzE3MDFaMIGr
39
+ MQswCQYDVQQGEwJDTDEjMCEGA1UECBMaTUVUUk9QT0xJVEFOQSBERSBTQU5USUFH
40
+ TyAxETAPBgNVBAcTCFNhbnRpYWdvMREwDwYDVQQKEwhHREUgUy5BLjEKMAgGA1UE
41
+ CwwBKjEhMB8GA1UEAxMYQ3Jpc3RpYW4gUm9qYXMgR3V0aWVycmV6MSIwIAYJKoZI
42
+ hvcNAQkBFhNjcm9qYXNnQGhvdG1haWwuY29tMIGfMA0GCSqGSIb3DQEBAQUAA4GN
43
+ ADCBiQKBgQCuCso1Aq+MlHX76u6jeANzLK7ysKHMhF42CtNOvmwihtqPLJHp53XN
44
+ eWx5FN2psroDddaTeR0eUiW9b3lt4iJSXrt7ntgeow6hATn4zfcPwBkVPKqlcG7y
45
+ +X1zOB+3NirsPU1ZCeGe8KQJRtSmX4CWf8beleKnTtwfrpIIv+tTcQIDAQABo4IC
46
+ azCCAmcwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIgtyDL4WTjGaF1Z0XguLc
47
+ J4Hv7DxhgZrnFYav4BUCAWQCAQMwHQYDVR0OBBYEFMPMmCazNW4fT0FzaQQoXlBa
48
+ mxEsMAsGA1UdDwQEAwIE8DAfBgNVHSMEGDAWgBR44T6f0hKzejyNzTAOU7NDKQez
49
+ VTA+BgNVHR8ENzA1MDOgMaAvhi1odHRwOi8vY3JsLmUtY2VydGNoaWxlLmNsL2Vj
50
+ ZXJ0Y2hpbGVjYUZFUy5jcmwwIwYDVR0RBBwwGqAYBggrBgEEAcEBAaAMFgoxMDk3
51
+ NDM3Ny0xMCMGA1UdEgQcMBqgGAYIKwYBBAHBAQKgDBYKOTY5MjgxODAtNTCCAU0G
52
+ A1UdIASCAUQwggFAMIIBPAYIKwYBBAHDUgUwggEuMC0GCCsGAQUFBwIBFiFodHRw
53
+ Oi8vd3d3LmUtY2VydGNoaWxlLmNsL0NQUy5odG0wgfwGCCsGAQUFBwICMIHvHoHs
54
+ AEMAZQByAHQAaQBmAGkAYwBhAGQAbwAgAEYAaQByAG0AYQAgAFMAaQBtAHAAbABl
55
+ AC4AIABIAGEAIABzAGkAZABvACAAdgBhAGwAaQBkAGEAZABvACAAZQBuACAAZgBv
56
+ AHIAbQBhACAAcAByAGUAcwBlAG4AYwBpAGEAbAAsACAAcQB1AGUAZABhAG4AZABv
57
+ ACAAaABhAGIAaQBsAGkAdABhAGQAbwAgAGUAbAAgAEMAZQByAHQAaQBmAGkAYwBh
58
+ AGQAbwAgAHAAYQByAGEAIAB1AHMAbwAgAHQAcgBpAGIAdQB0AGEAcgBpAG8wDQYJ
59
+ KoZIhvcNAQEFBQADggEBACmohVhYRgL7/gtDYx0MJcfLS4fgF7lGFi6qrDmC4OLw
60
+ 4PPAsQBNxmgptLCzo1L5GNNZ16CIujZU9BGYJOYh6gDVZ2Sf1PC7gwpcdKcpP9fg
61
+ FTlhtEMZZgQx+auurZa3DJAWn4xgmBSNV6JZj1gxCLgHlyGvaDVLu7WGlytX4CwA
62
+ ZDBBz8v3wV/5zCz/w2YAeA45S0+3e6SEgDp1gKQn2aMwRoAYgOLekHFEMX80H4na
63
+ ZprMNSpgWN6w6E4sO/vE8W7pNQFT7nMTU3AaFsfkt9muadFTpTAN3bzIDvQ+ik5B
64
+ j4RImcu5qGNuDg3hE2/dfojZl+5dOnP0UkhhN22x+gU=
65
+ </X509Certificate></X509Data></KeyInfo></Signature>
66
+ </RespuestaDTE>
@@ -0,0 +1,160 @@
1
+ Received: from cloud.gdexpress.cl (unknown [200.6.115.103])
2
+ by zimbra.entel.entelcorp.com (Postfix) with ESMTP id BA75B350479
3
+ for <chilemat@facturanet.cl>; Tue, 12 May 2015 10:45:12 -0300 (CLT)
4
+ Received: from PDXAPP03 ([172.30.30.40])
5
+ by cloud.gdexpress.cl (cloud.gdexpress.cl)
6
+ (MDaemon PRO v11.0.3)
7
+ with ESMTP id md50004222660.msg
8
+ for <chilemat@facturanet.cl>; Tue, 12 May 2015 10:43:24 -0300
9
+ X-Spam-Processed: cloud.gdexpress.cl, Tue, 12 May 2015 10:43:24 -0300
10
+ (not processed: spam filter heuristic analysis disabled)
11
+ X-MDRemoteIP: 172.30.30.40
12
+ X-Return-Path: delivery@gdexpress.cl
13
+ X-Envelope-From: delivery@gdexpress.cl
14
+ X-MDaemon-Deliver-To: chilemat@facturanet.cl
15
+ MIME-Version: 1.0
16
+ From: "GDExpress"
17
+ <delivery@gdexpress.cl>
18
+ To: chilemat@facturanet.cl
19
+ Date: 12 May 2015 09:44:01 -0400
20
+ Subject: =?utf-8?B?Tm90aWZpY2FjacOzbiBkZSByZWNpYm8u?=
21
+ Content-Type: multipart/mixed;
22
+ boundary=--boundary_19888_c6c1aa6a-443d-4103-b53b-03c95362aeeb
23
+ Message-Id: <20150512134512.BA75B350479@zimbra.entel.entelcorp.com>
24
+
25
+
26
+ ----boundary_19888_c6c1aa6a-443d-4103-b53b-03c95362aeeb
27
+ Content-Type: text/plain; charset=utf-8
28
+ Content-Transfer-Encoding: base64
29
+
30
+ 77u/PCFET0NUWVBFIGh0bWwgUFVCTElDICItLy9XM0MvL0RURCBYSFRNTCAxLjAg
31
+ VHJhbnNpdGlvbmFsLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL1RSL3hodG1sMS9E
32
+ VEQveGh0bWwxLXRyYW5zaXRpb25hbC5kdGQiPg0KPGh0bWwgeG1sbnM9Imh0dHA6
33
+ Ly93d3cudzMub3JnLzE5OTkveGh0bWwiPg0KPGhlYWQ+DQo8bWV0YSBodHRwLWVx
34
+ dWl2PSJDb250ZW50LVR5cGUiIGNvbnRlbnQ9InRleHQvaHRtbDsgY2hhcnNldD1V
35
+ VEYtOCIgLz4NCjx0aXRsZT5Ob3RpZmljYWNpw7NuIGRlIHJlY2liby48L3RpdGxl
36
+ Pg0KPHN0eWxlIHR5cGU9InRleHQvY3NzIj4NCmJvZHkgeyBwYWRkaW5nOjBweDsg
37
+ bWFyZ2luOjBweDsgZm9udC1mYW1pbHk6QXJpYWwsIEhlbHZldGljYSwgc2Fucy1z
38
+ ZXJpZjsgZm9udC1zaXplOjE0cHg7IGNvbG9yOiMzMzMzMzM7IH0NCjwvc3R5bGU+
39
+ DQo8L2hlYWQ+DQoNCjxib2R5Pg0KPHRhYmxlIHdpZHRoPSIxMDAlIiBiZ2NvbG9y
40
+ PSIjRjFGMUYxIiBzdHlsZT0icGFkZGluZzoyNXB4Ij4NCiAgICA8dHI+DQogICAg
41
+ ICAgIDx0ZD4NCiAgICAgICAgPHRhYmxlIHdpZHRoPSIxMDAlIiBiZ2NvbG9yPSIj
42
+ RkZGRkZGIiBzdHlsZT0iYm9yZGVyOjFweCBzb2xpZCAjREREREREIj4NCiAgICAg
43
+ ICAgICAgIDx0cj4NCiAgICAgICAgICAgICAgICA8dGQgd2lkdGg9IjQlIj4mbmJz
44
+ cDs8L3RkPg0KICAgICAgICAgICAgICAgIDx0ZCB3aWR0aD0iOTIlIj4mbmJzcDs8
45
+ L3RkPg0KICAgICAgICAgICAgICAgIDx0ZCB3aWR0aD0iNCUiPiZuYnNwOzwvdGQ+
46
+ DQogICAgICAgICAgICA8L3RyPg0KICAgICAgICAgICAgPHRyPg0KICAgICAgICAg
47
+ ICAgICAgIDx0ZD4mbmJzcDs8L3RkPg0KICAgICAgICAgICAgICAgIDx0ZD48dGFi
48
+ bGUgd2lkdGg9IjEwMCUiPg0KICAgICAgICAgICAgICAgICAgICA8dHI+DQogICAg
49
+ ICAgICAgICAgICAgICAgICAgICA8dGQgc3R5bGU9ImxpbmUtaGVpZ2h0OjIwcHgi
50
+ Pg0KCQkJCTxwPlNlIGFkanVudGEgZWwgYXJjaGl2byBkZSByZWNpYm8gZWxlY3Ry
51
+ w7NuaWNvIHBhcmEgZWwgZG9jdW1lbnRvIGNvbiBmb2xpbyAxOTcwNzQ3IC48L3A+
52
+ DQoJCQk8L3RkPg0KICAgICAgICAgICAgICAgICAgICA8L3RyPg0KICAgICAgICAg
53
+ ICAgICAgICAgICA8dHI+DQogICAgICAgICAgICAgICAgICAgICAgICA8dGQgc3R5
54
+ bGU9ImNvbG9yOiM2NjY2NjY7IHBhZGRpbmctdG9wOjEwcHgiPg0KCQkJCQkJCUF0
55
+ ZW50YW1lbnRlIDxiciAvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIHd3
56
+ dy5nZGV4cHJlc3MuY2wNCgkJCQkJCTwvdGQ+DQogICAgICAgICAgICAgICAgICAg
57
+ IDwvdHI+DQogICAgICAgICAgICAgICAgPC90YWJsZT48L3RkPg0KICAgICAgICAg
58
+ ICAgICAgIDx0ZD4mbmJzcDs8L3RkPg0KICAgICAgICAgICAgPC90cj4NCiAgICAg
59
+ ICAgICAgIDx0cj4NCiAgICAgICAgICAgICAgICA8dGQ+Jm5ic3A7PC90ZD4NCiAg
60
+ ICAgICAgICAgICAgICA8dGQ+Jm5ic3A7PC90ZD4NCiAgICAgICAgICAgICAgICA8
61
+ dGQ+Jm5ic3A7PC90ZD4NCiAgICAgICAgICAgIDwvdHI+DQogICAgICAgIDwvdGFi
62
+ bGU+PC90ZD4NCiAgICA8L3RyPg0KPC90YWJsZT4NCjwvYm9keT4NCjwvaHRtbD4g
63
+ ----boundary_19888_c6c1aa6a-443d-4103-b53b-03c95362aeeb
64
+ Content-Type: text/xml; name=e782aea3-aaf5-46e6-b8c8-09350250f6fe.xml
65
+ Content-Transfer-Encoding: base64
66
+ Content-Disposition: attachment
67
+
68
+ PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iaXNvLTg4NTktMSI/PjxSZXNw
69
+ dWVzdGFEVEUgeG1sbnM9Imh0dHA6Ly93d3cuc2lpLmNsL1NpaUR0ZSIgeG1sbnM6
70
+ ZHM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvMDkveG1sZHNpZyMiIHhtbG5zOnhz
71
+ aT0iaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEtaW5zdGFuY2UiIHZl
72
+ cnNpb249IjEuMCI+DQogIDxSZXN1bHRhZG8gSUQ9IklEXzYzNTY3MDIxODEwNjA5
73
+ MTc5NyI+DQogICAgPENhcmF0dWxhIHZlcnNpb249IjEuMCI+DQogICAgICA8UnV0
74
+ UmVzcG9uZGU+Nzg0ODE3NzAtOTwvUnV0UmVzcG9uZGU+DQogICAgICA8UnV0UmVj
75
+ aWJlPjk2NzI2OTcwLTA8L1J1dFJlY2liZT4NCiAgICAgIDxJZFJlc3B1ZXN0YT44
76
+ MTA2MDkxNzk3PC9JZFJlc3B1ZXN0YT4NCiAgICAgIDxOcm9EZXRhbGxlcz4xPC9O
77
+ cm9EZXRhbGxlcz4NCiAgICAgIDxObWJDb250YWN0bz5BbmRy6XMgUmFkZGF0ejwv
78
+ Tm1iQ29udGFjdG8+DQogICAgICA8Rm9ub0NvbnRhY3RvPis1Njk1NDA1OTQ2OTwv
79
+ Rm9ub0NvbnRhY3RvPg0KICAgICAgPE1haWxDb250YWN0bz5jLnNvdG9Ad3lyLmNs
80
+ PC9NYWlsQ29udGFjdG8+DQogICAgICA8VG1zdEZpcm1hUmVzcD4yMDE1LTA1LTEy
81
+ VDAxOjAzOjMwPC9UbXN0RmlybWFSZXNwPg0KICAgIDwvQ2FyYXR1bGE+DQogICAg
82
+ PFJlc3VsdGFkb0RURT4NCiAgICAgIDxUaXBvRFRFPjMzPC9UaXBvRFRFPg0KICAg
83
+ ICAgPEZvbGlvPjE5NzA3NDc8L0ZvbGlvPg0KICAgICAgPEZjaEVtaXM+MjAxNS0w
84
+ NS0xMTwvRmNoRW1pcz4NCiAgICAgIDxSVVRFbWlzb3I+OTY3MjY5NzAtMDwvUlVU
85
+ RW1pc29yPg0KICAgICAgPFJVVFJlY2VwPjc4NDgxNzcwLTk8L1JVVFJlY2VwPg0K
86
+ ICAgICAgPE1udFRvdGFsPjE1MzA0MzwvTW50VG90YWw+DQogICAgICA8Q29kRW52
87
+ aW8+ODEwNjA5MTc5NzwvQ29kRW52aW8+DQogICAgICA8RXN0YWRvRFRFPjA8L0Vz
88
+ dGFkb0RURT4NCiAgICAgIDxFc3RhZG9EVEVHbG9zYT5Eb2N1bWVudG8gYWNlcHRh
89
+ ZG8gY29uZm9ybWU8L0VzdGFkb0RURUdsb3NhPg0KICAgIDwvUmVzdWx0YWRvRFRF
90
+ Pg0KICA8L1Jlc3VsdGFkbz48U2lnbmF0dXJlIHhtbG5zPSJodHRwOi8vd3d3Lncz
91
+ Lm9yZy8yMDAwLzA5L3htbGRzaWcjIj48U2lnbmVkSW5mbz48Q2Fub25pY2FsaXph
92
+ dGlvbk1ldGhvZCBBbGdvcml0aG09Imh0dHA6Ly93d3cudzMub3JnL1RSLzIwMDEv
93
+ UkVDLXhtbC1jMTRuLTIwMDEwMzE1IiAvPjxTaWduYXR1cmVNZXRob2QgQWxnb3Jp
94
+ dGhtPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwLzA5L3htbGRzaWcjcnNhLXNoYTEi
95
+ IC8+PFJlZmVyZW5jZSBVUkk9IiNJRF82MzU2NzAyMTgxMDYwOTE3OTciPjxUcmFu
96
+ c2Zvcm1zPjxUcmFuc2Zvcm0gQWxnb3JpdGhtPSJodHRwOi8vd3d3LnczLm9yZy9U
97
+ Ui8yMDAxL1JFQy14bWwtYzE0bi0yMDAxMDMxNSIgLz48L1RyYW5zZm9ybXM+PERp
98
+ Z2VzdE1ldGhvZCBBbGdvcml0aG09Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvMDkv
99
+ eG1sZHNpZyNzaGExIiAvPjxEaWdlc3RWYWx1ZT4yOGJORUpIUkU2TFlVWmlDTkNq
100
+ cUZIbWlFU2c9PC9EaWdlc3RWYWx1ZT48L1JlZmVyZW5jZT48L1NpZ25lZEluZm8+
101
+ PFNpZ25hdHVyZVZhbHVlPg0KVmJSZVRic0RjOVZRNGlqbjM2a0crb2ZDelplbkEy
102
+ VG5DT1NsOUVySVZwNWFSY1RoTFZjYXhBOXdMSWlJM3ZIZw0KZVAySkIrSTI1Y0RF
103
+ aGVPaVBEM01URHB4QUpwdU41K3gxZEFnczhZUXNSa1JOWUtQcFpDT0s4N2FqM1Jn
104
+ UDM0cA0KbzFTWTdvdEZWWlgwU3hjQnFnOWc0bVZYc0VlMHI1a3R0RnFISDJ3Rzkr
105
+ OD0NCjwvU2lnbmF0dXJlVmFsdWU+PEtleUluZm8+PEtleVZhbHVlPjxSU0FLZXlW
106
+ YWx1ZT48TW9kdWx1cz4NCnJncktOUUt2akpSMSsrcnVvM2dEY3l5dThyQ2h6SVJl
107
+ TmdyVFRyNXNJb2Jhanl5UjZlZDF6WGxzZVJUZHFiSzYNCkEzWFdrM2tkSGxJbHZX
108
+ OTViZUlpVWw2N2U1N1lIcU1Pb1FFNStNMzNEOEFaRlR5cXBYQnU4dmw5Y3pnZnR6
109
+ WXENCjdEMU5XUW5obnZDa0NVYlVwbCtBbG4vRzNwWGlwMDdjSDY2U0NML3JVM0U9
110
+ DQo8L01vZHVsdXM+PEV4cG9uZW50PkFRQUI8L0V4cG9uZW50PjwvUlNBS2V5VmFs
111
+ dWU+PC9LZXlWYWx1ZT48WDUwOURhdGE+PFg1MDlDZXJ0aWZpY2F0ZT4NCk1JSUY3
112
+ RENDQk5TZ0F3SUJBZ0lLYngyZjVRQUFBQUN3NHpBTkJna3Foa2lHOXcwQkFRVUZB
113
+ RENCMGpFTE1Ba0cNCkExVUVCaE1DUTB3eEhUQWJCZ05WQkFnVEZGSmxaMmx2YmlC
114
+ TlpYUnliM0J2YkdsMFlXNWhNUkV3RHdZRFZRUUgNCkV3aFRZVzUwYVdGbmJ6RVVN
115
+ QklHQTFVRUNoTUxSUzFEUlZKVVEwaEpURVV4SURBZUJnTlZCQXNURjBGMWRHOXkN
116
+ CmFXUmhaQ0JEWlhKMGFXWnBZMkZrYjNKaE1UQXdMZ1lEVlFRREV5ZEZMVU5GVWxS
117
+ RFNFbE1SU0JEUVNCR1NWSk4NClFTQkZURVZEVkZKUFRrbERRU0JUU1UxUVRFVXhK
118
+ ekFsQmdrcWhraUc5dzBCQ1FFV0dITmpiR2xsYm5SbGMwQmwNCkxXTmxjblJqYUds
119
+ c1pTNWpiREFlRncweE16QTJNakF4TnpFM01ERmFGdzB4TmpBMk1Ua3hOekUzTURG
120
+ YU1JR3INCk1Rc3dDUVlEVlFRR0V3SkRUREVqTUNFR0ExVUVDQk1hVFVWVVVrOVFU
121
+ MHhKVkVGT1FTQkVSU0JUUVU1VVNVRkgNClR5QXhFVEFQQmdOVkJBY1RDRk5oYm5S
122
+ cFlXZHZNUkV3RHdZRFZRUUtFd2hIUkVVZ1V5NUJMakVLTUFnR0ExVUUNCkN3d0JL
123
+ akVoTUI4R0ExVUVBeE1ZUTNKcGMzUnBZVzRnVW05cVlYTWdSM1YwYVdWeWNtVjZN
124
+ U0l3SUFZSktvWkkNCmh2Y05BUWtCRmhOamNtOXFZWE5uUUdodmRHMWhhV3d1WTI5
125
+ dE1JR2ZNQTBHQ1NxR1NJYjNEUUVCQVFVQUE0R04NCkFEQ0JpUUtCZ1FDdUNzbzFB
126
+ cStNbEhYNzZ1NmplQU56TEs3eXNLSE1oRjQyQ3ROT3Ztd2lodHFQTEpIcDUzWE4N
127
+ CmVXeDVGTjJwc3JvRGRkYVRlUjBlVWlXOWIzbHQ0aUpTWHJ0N250Z2VvdzZoQVRu
128
+ NHpmY1B3QmtWUEtxbGNHN3kNCitYMXpPQiszTmlyc1BVMVpDZUdlOEtRSlJ0U21Y
129
+ NENXZjhiZWxlS25UdHdmcnBJSXYrdFRjUUlEQVFBQm80SUMNCmF6Q0NBbWN3UFFZ
130
+ Skt3WUJCQUdDTnhVSEJEQXdMZ1ltS3dZQkJBR0NOeFVJZ3R5REw0V1RqR2FGMVow
131
+ WGd1TGMNCko0SHY3RHhoZ1pybkZZYXY0QlVDQVdRQ0FRTXdIUVlEVlIwT0JCWUVG
132
+ TVBNbUNhek5XNGZUMEZ6YVFRb1hsQmENCm14RXNNQXNHQTFVZER3UUVBd0lFOERB
133
+ ZkJnTlZIU01FR0RBV2dCUjQ0VDZmMGhLemVqeU56VEFPVTdOREtRZXoNClZUQStC
134
+ Z05WSFI4RU56QTFNRE9nTWFBdmhpMW9kSFJ3T2k4dlkzSnNMbVV0WTJWeWRHTm9h
135
+ V3hsTG1Oc0wyVmoNClpYSjBZMmhwYkdWallVWkZVeTVqY213d0l3WURWUjBSQkJ3
136
+ d0dxQVlCZ2dyQmdFRUFjRUJBYUFNRmdveE1EazMNCk5ETTNOeTB4TUNNR0ExVWRF
137
+ Z1FjTUJxZ0dBWUlLd1lCQkFIQkFRS2dEQllLT1RZNU1qZ3hPREF0TlRDQ0FVMEcN
138
+ CkExVWRJQVNDQVVRd2dnRkFNSUlCUEFZSUt3WUJCQUhEVWdVd2dnRXVNQzBHQ0Nz
139
+ R0FRVUZCd0lCRmlGb2RIUncNCk9pOHZkM2QzTG1VdFkyVnlkR05vYVd4bExtTnNM
140
+ ME5RVXk1b2RHMHdnZndHQ0NzR0FRVUZCd0lDTUlIdkhvSHMNCkFFTUFaUUJ5QUhR
141
+ QWFRQm1BR2tBWXdCaEFHUUFid0FnQUVZQWFRQnlBRzBBWVFBZ0FGTUFhUUJ0QUhB
142
+ QWJBQmwNCkFDNEFJQUJJQUdFQUlBQnpBR2tBWkFCdkFDQUFkZ0JoQUd3QWFRQmtB
143
+ R0VBWkFCdkFDQUFaUUJ1QUNBQVpnQnYNCkFISUFiUUJoQUNBQWNBQnlBR1VBY3dC
144
+ bEFHNEFZd0JwQUdFQWJBQXNBQ0FBY1FCMUFHVUFaQUJoQUc0QVpBQnYNCkFDQUFh
145
+ QUJoQUdJQWFRQnNBR2tBZEFCaEFHUUFid0FnQUdVQWJBQWdBRU1BWlFCeUFIUUFh
146
+ UUJtQUdrQVl3QmgNCkFHUUFid0FnQUhBQVlRQnlBR0VBSUFCMUFITUFid0FnQUhR
147
+ QWNnQnBBR0lBZFFCMEFHRUFjZ0JwQUc4d0RRWUoNCktvWklodmNOQVFFRkJRQURn
148
+ Z0VCQUNtb2hWaFlSZ0w3L2d0RFl4ME1KY2ZMUzRmZ0Y3bEdGaTZxckRtQzRPTHcN
149
+ CjRQUEFzUUJOeG1ncHRMQ3pvMUw1R05OWjE2Q0l1alpVOUJHWUpPWWg2Z0RWWjJT
150
+ ZjFQQzdnd3BjZEtjcFA5ZmcNCkZUbGh0RU1aWmdReCthdXVyWmEzREpBV240eGdt
151
+ QlNOVjZKWmoxZ3hDTGdIbHlHdmFEVkx1N1dHbHl0WDRDd0ENClpEQkJ6OHYzd1Yv
152
+ NXpDei93MllBZUE0NVMwKzNlNlNFZ0RwMWdLUW4yYU13Um9BWWdPTGVrSEZFTVg4
153
+ MEg0bmENClpwck1OU3BnV042dzZFNHNPL3ZFOFc3cE5RRlQ3bk1UVTNBYUZzZmt0
154
+ OW11YWRGVHBUQU4zYnpJRHZRK2lrNUINCmo0UkltY3U1cUdOdURnM2hFMi9kZm9q
155
+ WmwrNWRPblAwVWtoaE4yMngrZ1U9DQo8L1g1MDlDZXJ0aWZpY2F0ZT48L1g1MDlE
156
+ YXRhPjwvS2V5SW5mbz48L1NpZ25hdHVyZT4NCjwvUmVzcHVlc3RhRFRFPg==
157
+ ----boundary_19888_c6c1aa6a-443d-4103-b53b-03c95362aeeb--
158
+
159
+
160
+
data/test/test_dte.rb CHANGED
@@ -5,8 +5,10 @@ class TestDte < Minitest::Test
5
5
  def setup
6
6
  @resultado = File.open("./test/fixtures/acuse.xml", "rb")
7
7
  @envio = File.open("./test/fixtures/envio_dte_33.xml", "rb")
8
+ @resultado_problema = File.open("./test/fixtures/acuse_2.xml", "rb")
8
9
  @dte_resultado = CarterdteSmtpFilter::Dte.new @resultado
9
10
  @dte_envio = CarterdteSmtpFilter::Dte.new @envio
11
+ @dte_problema = CarterdteSmtpFilter::Dte.new @resultado_problema
10
12
  end
11
13
 
12
14
  def teardown
@@ -19,11 +21,13 @@ class TestDte < Minitest::Test
19
21
  assert(!dte.valid?, "Should be false")
20
22
  assert(@dte_resultado.valid?, "Failure message.")
21
23
  assert(@dte_envio.valid?, "Failure message.")
24
+ assert(@dte_problema.valid?, "Failure message.")
22
25
  end
23
26
 
24
27
  def test_root_should_return_the_root_element
25
- assert_equal("Resultado", @dte_resultado.root_name)
26
- assert_equal("SetDTE", @dte_envio.root_name)
28
+ assert_equal("RespuestaDTE", @dte_resultado.root_name)
29
+ assert_equal("RespuestaDTE", @dte_problema.root_name)
30
+ assert_equal("EnvioDTE", @dte_envio.root_name)
27
31
  end
28
32
 
29
33
  def test_return_msg_type
@@ -34,33 +38,46 @@ class TestDte < Minitest::Test
34
38
  def test_return_setdte_id
35
39
  assert_equal("SETDTE94528000X33X7597817X94141763", @dte_resultado.setdte_id)
36
40
  assert_equal("SETDTE96529310X33X3152118X94141243", @dte_envio.setdte_id)
41
+ assert_equal(nil, @dte_problema.setdte_id)
42
+ end
43
+
44
+ def test_return_folio
45
+ assert_equal("7597817", @dte_resultado.folio)
46
+ assert_equal("3152118", @dte_envio.folio)
47
+ assert_equal("1970747", @dte_problema.folio)
37
48
  end
38
49
 
39
50
  def test_rut_emisor
40
51
  assert_equal("94528000-K", @dte_resultado.rut_emisor)
41
52
  assert_equal("96529310-8", @dte_envio.rut_emisor)
53
+ assert_equal("96726970-0", @dte_problema.rut_emisor)
42
54
  end
43
55
 
44
56
  def test_rut_receptor
45
57
  assert_equal("81537600-5", @dte_resultado.rut_receptor)
46
58
  assert_equal("81201000-K", @dte_envio.rut_receptor)
59
+ assert_equal("78481770-9", @dte_problema.rut_receptor)
47
60
  end
48
61
 
49
62
  def test_dte_type
50
63
  assert_equal("33", @dte_resultado.dte_type)
51
64
  assert_equal("33", @dte_envio.dte_type)
65
+ assert_equal("33", @dte_problema.dte_type)
52
66
  end
53
67
 
54
68
  def test_dte_fecha_emision
55
69
  date_envio = Time.parse("2015-05-09T11:10:10").to_date
56
70
  date_resultado = Time.parse("2015-05-09T12:30:11").to_date
71
+ date_problema = Time.parse("2015-05-12T01:03:30").to_date
57
72
  assert_equal(date_resultado, @dte_resultado.fecha_emision)
58
73
  assert_equal(date_envio, @dte_envio.fecha_emision)
74
+ assert_equal(date_problema, @dte_problema.fecha_emision)
59
75
  end
60
76
 
61
77
  def test_dte_fecha_recepcion
62
78
  date_resultado = Time.parse("2015-05-09T12:30:11").to_date
63
79
  assert_equal(date_resultado, @dte_resultado.fecha_recepcion)
80
+ assert_equal(nil, @dte_problema.fecha_recepcion)
64
81
  assert_equal(nil, @dte_envio.fecha_recepcion)
65
82
  end
66
83
 
@@ -76,4 +93,15 @@ class TestDte < Minitest::Test
76
93
  assert_equal("81537600-5", json["rut_receptor"])
77
94
  end
78
95
 
96
+ def test_return_json_even_for_fking_wrong_dtes
97
+ assert(@dte_problema.rut_receptor, "rut_receptor")
98
+ assert(@dte_problema.rut_emisor, "rut_emisor")
99
+ assert(@dte_problema.msg_type, "msg_type")
100
+ assert_nil(@dte_problema.setdte_id, "setdte_id")
101
+ assert(@dte_problema.dte_type, "dte_type")
102
+ assert(@dte_problema.folio, "folio")
103
+ json = JSON.parse @dte_problema.to_json
104
+ assert_equal("78481770-9", json["rut_receptor"])
105
+ end
106
+
79
107
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: carterdte_smtp_filter
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.3.4
4
+ version: 0.0.3.6
5
5
  platform: ruby
6
6
  authors:
7
7
  - Patricio Bruna
@@ -14,168 +14,168 @@ dependencies:
14
14
  name: mail
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - "~>"
17
+ - - ~>
18
18
  - !ruby/object:Gem::Version
19
19
  version: '2.6'
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
- - - "~>"
24
+ - - ~>
25
25
  - !ruby/object:Gem::Version
26
26
  version: '2.6'
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: midi-smtp-server
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
- - - "~>"
31
+ - - ~>
32
32
  - !ruby/object:Gem::Version
33
33
  version: '2.0'
34
34
  type: :runtime
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
- - - "~>"
38
+ - - ~>
39
39
  - !ruby/object:Gem::Version
40
40
  version: '2.0'
41
41
  - !ruby/object:Gem::Dependency
42
- name: xml-simple
42
+ name: rest-client
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
- - - "~>"
45
+ - - ~>
46
46
  - !ruby/object:Gem::Version
47
- version: '1.1'
47
+ version: '1.7'
48
48
  type: :runtime
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
- - - "~>"
52
+ - - ~>
53
53
  - !ruby/object:Gem::Version
54
- version: '1.1'
54
+ version: '1.7'
55
55
  - !ruby/object:Gem::Dependency
56
- name: rest-client
56
+ name: json
57
57
  requirement: !ruby/object:Gem::Requirement
58
58
  requirements:
59
- - - "~>"
59
+ - - ~>
60
60
  - !ruby/object:Gem::Version
61
- version: '1.7'
61
+ version: '1.8'
62
62
  type: :runtime
63
63
  prerelease: false
64
64
  version_requirements: !ruby/object:Gem::Requirement
65
65
  requirements:
66
- - - "~>"
66
+ - - ~>
67
67
  - !ruby/object:Gem::Version
68
- version: '1.7'
68
+ version: '1.8'
69
69
  - !ruby/object:Gem::Dependency
70
- name: json
70
+ name: bundler
71
71
  requirement: !ruby/object:Gem::Requirement
72
72
  requirements:
73
- - - "~>"
73
+ - - ~>
74
74
  - !ruby/object:Gem::Version
75
- version: '1.8'
75
+ version: '1.6'
76
76
  type: :runtime
77
77
  prerelease: false
78
78
  version_requirements: !ruby/object:Gem::Requirement
79
79
  requirements:
80
- - - "~>"
80
+ - - ~>
81
81
  - !ruby/object:Gem::Version
82
- version: '1.8'
82
+ version: '1.6'
83
83
  - !ruby/object:Gem::Dependency
84
- name: bundler
84
+ name: nokogiri
85
85
  requirement: !ruby/object:Gem::Requirement
86
86
  requirements:
87
- - - "~>"
87
+ - - ~>
88
88
  - !ruby/object:Gem::Version
89
89
  version: '1.6'
90
90
  type: :runtime
91
91
  prerelease: false
92
92
  version_requirements: !ruby/object:Gem::Requirement
93
93
  requirements:
94
- - - "~>"
94
+ - - ~>
95
95
  - !ruby/object:Gem::Version
96
96
  version: '1.6'
97
97
  - !ruby/object:Gem::Dependency
98
98
  name: rake
99
99
  requirement: !ruby/object:Gem::Requirement
100
100
  requirements:
101
- - - "~>"
101
+ - - ~>
102
102
  - !ruby/object:Gem::Version
103
103
  version: '10.4'
104
104
  type: :development
105
105
  prerelease: false
106
106
  version_requirements: !ruby/object:Gem::Requirement
107
107
  requirements:
108
- - - "~>"
108
+ - - ~>
109
109
  - !ruby/object:Gem::Version
110
110
  version: '10.4'
111
111
  - !ruby/object:Gem::Dependency
112
112
  name: guard
113
113
  requirement: !ruby/object:Gem::Requirement
114
114
  requirements:
115
- - - "~>"
115
+ - - ~>
116
116
  - !ruby/object:Gem::Version
117
117
  version: '2.12'
118
118
  type: :development
119
119
  prerelease: false
120
120
  version_requirements: !ruby/object:Gem::Requirement
121
121
  requirements:
122
- - - "~>"
122
+ - - ~>
123
123
  - !ruby/object:Gem::Version
124
124
  version: '2.12'
125
125
  - !ruby/object:Gem::Dependency
126
126
  name: guard-minitest
127
127
  requirement: !ruby/object:Gem::Requirement
128
128
  requirements:
129
- - - "~>"
129
+ - - ~>
130
130
  - !ruby/object:Gem::Version
131
131
  version: '2.4'
132
132
  type: :development
133
133
  prerelease: false
134
134
  version_requirements: !ruby/object:Gem::Requirement
135
135
  requirements:
136
- - - "~>"
136
+ - - ~>
137
137
  - !ruby/object:Gem::Version
138
138
  version: '2.4'
139
139
  - !ruby/object:Gem::Dependency
140
140
  name: minitest-reporters
141
141
  requirement: !ruby/object:Gem::Requirement
142
142
  requirements:
143
- - - "~>"
143
+ - - ~>
144
144
  - !ruby/object:Gem::Version
145
145
  version: '1.0'
146
146
  type: :development
147
147
  prerelease: false
148
148
  version_requirements: !ruby/object:Gem::Requirement
149
149
  requirements:
150
- - - "~>"
150
+ - - ~>
151
151
  - !ruby/object:Gem::Version
152
152
  version: '1.0'
153
153
  - !ruby/object:Gem::Dependency
154
154
  name: sinatra
155
155
  requirement: !ruby/object:Gem::Requirement
156
156
  requirements:
157
- - - "~>"
157
+ - - ~>
158
158
  - !ruby/object:Gem::Version
159
159
  version: '1.4'
160
160
  type: :development
161
161
  prerelease: false
162
162
  version_requirements: !ruby/object:Gem::Requirement
163
163
  requirements:
164
- - - "~>"
164
+ - - ~>
165
165
  - !ruby/object:Gem::Version
166
166
  version: '1.4'
167
167
  - !ruby/object:Gem::Dependency
168
168
  name: webmock
169
169
  requirement: !ruby/object:Gem::Requirement
170
170
  requirements:
171
- - - "~>"
171
+ - - ~>
172
172
  - !ruby/object:Gem::Version
173
173
  version: '1.20'
174
174
  type: :development
175
175
  prerelease: false
176
176
  version_requirements: !ruby/object:Gem::Requirement
177
177
  requirements:
178
- - - "~>"
178
+ - - ~>
179
179
  - !ruby/object:Gem::Version
180
180
  version: '1.20'
181
181
  description: Description - Postfix SMTP Filter to parse DTE files to CarterDTE Platform
@@ -186,7 +186,7 @@ executables:
186
186
  extensions: []
187
187
  extra_rdoc_files: []
188
188
  files:
189
- - ".gitignore"
189
+ - .gitignore
190
190
  - Gemfile
191
191
  - LICENSE.txt
192
192
  - README.md
@@ -204,7 +204,9 @@ files:
204
204
  - o-ri/bundler
205
205
  - test/fake_api.rb
206
206
  - test/fixtures/acuse.xml
207
+ - test/fixtures/acuse_2.xml
207
208
  - test/fixtures/config.yml
209
+ - test/fixtures/email_problem_dte.eml
208
210
  - test/fixtures/email_with_attachment_no_dte.eml
209
211
  - test/fixtures/envio_dte_33.xml
210
212
  - test/fixtures/guia_despacho.xml
@@ -230,24 +232,26 @@ require_paths:
230
232
  - lib
231
233
  required_ruby_version: !ruby/object:Gem::Requirement
232
234
  requirements:
233
- - - ">="
235
+ - - '>='
234
236
  - !ruby/object:Gem::Version
235
237
  version: '0'
236
238
  required_rubygems_version: !ruby/object:Gem::Requirement
237
239
  requirements:
238
- - - ">="
240
+ - - '>='
239
241
  - !ruby/object:Gem::Version
240
242
  version: '0'
241
243
  requirements: []
242
244
  rubyforge_project:
243
- rubygems_version: 2.2.2
245
+ rubygems_version: 2.0.2
244
246
  signing_key:
245
247
  specification_version: 4
246
248
  summary: Postfix SMTP Filter to parse DTE files to CarterDTE Platform
247
249
  test_files:
248
250
  - test/fake_api.rb
249
251
  - test/fixtures/acuse.xml
252
+ - test/fixtures/acuse_2.xml
250
253
  - test/fixtures/config.yml
254
+ - test/fixtures/email_problem_dte.eml
251
255
  - test/fixtures/email_with_attachment_no_dte.eml
252
256
  - test/fixtures/envio_dte_33.xml
253
257
  - test/fixtures/guia_despacho.xml