dtefacil_xml_builder 0.0.1 → 0.0.2

Sign up to get free protection for your applications and to get access to all the features.
@@ -1,3 +1,5 @@
1
+ require "dtefacil_xml_builder/detalle"
2
+ require "dtefacil_xml_builder/receptor"
1
3
  require "dtefacil_xml_builder/documentos"
2
4
  require "dtefacil_xml_builder/dte_builder"
3
5
  require "dtefacil_xml_builder/version"
@@ -0,0 +1,23 @@
1
+ module DtefacilXmlBuilder
2
+ class Detalle
3
+ attr_accessor :nombre, :cantidad, :precio_unitario, :descuento, :unidad, :exento
4
+
5
+ def set_detalle detalle
6
+ @nombre = detalle[:nombre]
7
+ @cantidad = detalle[:cantidad]
8
+ @precio_unitario = detalle[:precio_unitario]
9
+
10
+ if detalle[:descuento]
11
+ @descuento = detalle[:descuento]
12
+ end
13
+
14
+ if detalle[:unidad]
15
+ @unidad = detalle[:unidad]
16
+ end
17
+
18
+ if detalle[:exento]
19
+ @exento = detalle[:exento]
20
+ end
21
+ end
22
+ end
23
+ end
@@ -2,109 +2,67 @@ module DtefacilXmlBuilder
2
2
 
3
3
  class FacturaElectronica
4
4
 
5
- def set_descuento descuento
6
- @descuento = descuento
7
- end
8
-
9
- def set_actividades_economicas act
10
- @actividades_economicas = act
11
- end
12
-
13
- def set_receptor receptor
14
- @receptor = receptor
15
- end
16
-
17
- def set_detalles detalles
18
- @detalles = detalles
19
- end
5
+ attr_accessor :descuento, :actividades_economicas, :receptor, :detalles
20
6
 
21
7
  def render_xml
22
- dtebuilder = XmlBuilder::DteBuilder.new
23
-
24
- xml = Builder::XmlMarkup.new(:target=>STDOUT, :indent=>2)
25
- xml.instruct!(:xml, version: "1.0", encoding: "ISO-8859-1")
26
- xml.facturaElectronica(xmlns: "http://dtefacil.cl/1.2"){
27
- dtebuilder.create_actividades_economicas @actividades_economicas
28
- dtebuilder.create_receptor @receptor
29
- dtebuilder.create_detalles @detalles, @descuento
30
- }
8
+ dtebuilder = XmlBuilder::DteBuilder.new
9
+
10
+ xml = Builder::XmlMarkup.new(:target=>STDOUT, :indent=>2)
11
+ xml.instruct!(:xml, version: "1.0", encoding: "ISO-8859-1")
12
+ xml.facturaElectronica(xmlns: "http://dtefacil.cl/1.2"){
13
+ dtebuilder.create_actividades_economicas @actividades_economicas
14
+ dtebuilder.create_receptor @receptor
15
+ dtebuilder.create_detalles @detalles, @descuento
16
+ }
31
17
  end
32
18
  end
33
19
 
34
20
 
35
21
  class NotaDeCreditoElectronica
36
- def set_referencia referencia
37
- @referencia = referencia
38
- end
39
-
40
- def set_tipo tipo
41
- @tipo = tipo
42
- end
43
-
44
- def set_receptor receptor
45
- @receptor = receptor
46
- end
47
22
 
48
- def set_detalles detalles
49
- @detalles = detalles
50
- end
51
-
52
- def render_xml
53
- dtebuilder = XmlBuilder::DteBuilder.new
54
-
55
- xml = Builder::XmlMarkup.new(:target=>STDOUT, :indent=>2)
56
- xml.instruct!(:xml, version: "1.0", encoding: "ISO-8859-1")
57
- xml.notaCreditoElectronica(xmlns: "http://dtefacil.cl/1.2"){
58
- |n|
59
- if @tipo == "anula"
60
- n.anulaDte(tipo: @referencia.tipo_dte, folio: @referencia.folio_dte)
61
- end
62
-
63
- if @receptor && @tipo == "datos"
64
- n.corrigeReceptorDte(tipo: @referencia.tipo_dte, folio: @referencia.folio_dte){
65
- dtebuilder.create_receptor @receptor
66
- }
67
- end
68
-
69
- if @detalles && @tipo == "detalles"
70
- n.corrigeMontosDte(tipo: @referencia.tipo_dte, folio: @referencia.folio_dte){
71
- dtebuilder.create_detalles @detalles, @descuento
72
- }
73
- end
74
- }
75
- end
23
+ attr_accessor :referencia, :tipo, :receptor, :detalles
24
+
25
+ def render_xml
26
+ dtebuilder = XmlBuilder::DteBuilder.new
27
+
28
+ xml = Builder::XmlMarkup.new(:target=>STDOUT, :indent=>2)
29
+ xml.instruct!(:xml, version: "1.0", encoding: "ISO-8859-1")
30
+ xml.notaCreditoElectronica(xmlns: "http://dtefacil.cl/1.2"){
31
+ |n|
32
+ if @tipo == "anula"
33
+ n.anulaDte(tipo: @referencia.tipo_dte, folio: @referencia.folio_dte)
34
+ end
35
+
36
+ if @receptor && @tipo == "datos"
37
+ n.corrigeReceptorDte(tipo: @referencia.tipo_dte, folio: @referencia.folio_dte){
38
+ dtebuilder.create_receptor @receptor
39
+ }
40
+ end
41
+
42
+ if @detalles && @tipo == "detalles"
43
+ n.corrigeMontosDte(tipo: @referencia.tipo_dte, folio: @referencia.folio_dte){
44
+ dtebuilder.create_detalles @detalles, @descuento
45
+ }
46
+ end
47
+ }
48
+ end
76
49
  end
77
50
 
78
51
 
79
- class FacturaExentaElectronica
80
- def set_descuento descuento
81
- @descuento = descuento
82
- end
83
-
84
- def set_actividades_economicas act
85
- @actividades_economicas = act
86
- end
87
-
88
- def set_receptor receptor
89
- @receptor = receptor
90
- end
91
-
92
- def set_detalles detalles
93
- @detalles = detalles
94
- end
95
-
96
- def render_xml
97
- dtebuilder = XmlBuilder::DteBuilder.new
98
-
99
- xml = Builder::XmlMarkup.new(:target=>STDOUT, :indent=>2)
100
- xml.instruct!(:xml, version: "1.0", encoding: "ISO-8859-1")
101
- xml.facturaExentaElectronica(xmlns: "http://dtefacil.cl/1.2"){
102
- dtebuilder.create_actividades_economicas @actividades_economicas
103
- dtebuilder.create_receptor @receptor
104
- dtebuilder.create_detalles @detalles, @descuento
105
- }
106
- end
107
- end
52
+ class FacturaExentaElectronica
108
53
 
54
+ attr_accessor :descuento, :actividades_economicas, :receptor, :detalles
55
+
56
+ def render_xml
57
+ dtebuilder = XmlBuilder::DteBuilder.new
109
58
 
59
+ xml = Builder::XmlMarkup.new(:target=>STDOUT, :indent=>2)
60
+ xml.instruct!(:xml, version: "1.0", encoding: "ISO-8859-1")
61
+ xml.facturaExentaElectronica(xmlns: "http://dtefacil.cl/1.2"){
62
+ dtebuilder.create_actividades_economicas @actividades_economicas
63
+ dtebuilder.create_receptor @receptor
64
+ dtebuilder.create_detalles @detalles, @descuento
65
+ }
66
+ end
67
+ end
110
68
  end
@@ -0,0 +1,15 @@
1
+ module DtefacilXmlBuilder
2
+ class Receptor
3
+ attr_accessor :rut, :razon_social, :giro, :direccion, :comuna, :ciudad
4
+
5
+ def set_receptor receptor
6
+ @rut = receptor[:rut]
7
+ @razon_social = receptor[:razon_social]
8
+ @giro = receptor[:giro]
9
+ @direccion = receptor[:direccion]
10
+ @comuna = receptor[:comuna]
11
+ @ciudad = receptor[:ciudad]
12
+ end
13
+ end
14
+ end
15
+
@@ -1,3 +1,3 @@
1
1
  module DtefacilXmlBuilder
2
- VERSION = "0.0.1"
2
+ VERSION = "0.0.2"
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: dtefacil_xml_builder
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.1
4
+ version: 0.0.2
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-07-30 00:00:00.000000000 Z
12
+ date: 2012-08-02 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: builder
@@ -42,8 +42,10 @@ files:
42
42
  - Rakefile
43
43
  - dtefacil_xml_builder.gemspec
44
44
  - lib/dtefacil_xml_builder.rb
45
+ - lib/dtefacil_xml_builder/detalle.rb
45
46
  - lib/dtefacil_xml_builder/documentos.rb
46
47
  - lib/dtefacil_xml_builder/dte_builder.rb
48
+ - lib/dtefacil_xml_builder/receptor.rb
47
49
  - lib/dtefacil_xml_builder/version.rb
48
50
  homepage: ''
49
51
  licenses: []