dtefacil_xml_builder 0.0.1 → 0.0.2

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.
@@ -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: []