nubefact 0.0.6 → 0.0.7

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: 2c353c016ec464eca5eebcd165e631145b636dd6
4
- data.tar.gz: 2a51fbba354ffec4c21007cfab6af48d062accf4
3
+ metadata.gz: 299e7bc3ede164bbb9b4f64059f0c4486a4d7b5e
4
+ data.tar.gz: d2847b287077e19404faad8e6b1519f67278248e
5
5
  SHA512:
6
- metadata.gz: a3f2a6fe5dc6b362e77f8df8b1c5087ae6dd69772106bb122821e247aa5c222b75fb05397724b736508869821ce77fe7a6bfb22d4cd7c7522207dcbef373d88a
7
- data.tar.gz: 6c17f910c34d8455c11ccd5a03c75c90e859699f87a2ef0fdf5a6b728038fe9a64ad1249256f73cf730cf7a2938d90677039b7d0dcaaec33434beb5beebf21da
6
+ metadata.gz: 55b0df912de68c62719d59b532c16194a83e8f5ba2f9d3f2586eea706cc3a456fb88356141682753ed383cb77f95f0c54323b9b378e5902ae3747521f6b5f4ab
7
+ data.tar.gz: d41eb06a7092a33f0f239109354e78de8f3f0b944b9be04912e95027f35d526f2a0473627c20d8781d30f1289bbc1400ca524d5c4d6e238aab69f7eeb433a45e
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- nubefact (0.0.5)
4
+ nubefact (0.0.7)
5
5
 
6
6
  GEM
7
7
  remote: https://rubygems.org/
@@ -111,9 +111,10 @@ class NubeFact::Invoice
111
111
  tipo_de_comprobante: 1,
112
112
  serie: 'F',
113
113
  sunat_transaction: 1,
114
- fecha_de_emision: -> { Time.now.strftime(NubeFact::DATE_FORMAT) },
114
+ fecha_de_emision: ->(_i) { Date.today },
115
115
  porcentaje_de_igv: 18,
116
- moneda: 1
116
+ moneda: 1,
117
+ tipo_de_cambio: ->(invoice) { invoice.set_tipo_de_cambio }
117
118
  }
118
119
 
119
120
  def initialize(data_hash)
@@ -147,4 +148,17 @@ class NubeFact::Invoice
147
148
 
148
149
  end
149
150
 
151
+ def set_tipo_de_cambio
152
+ return "" unless moneda == 2
153
+ NubeFact::Sunat.dollar_rate Date.parse(fecha_de_emision)
154
+ end
155
+
156
+
157
+ def fecha_de_emision
158
+ if [Date, Time, DateTime].include? @fecha_de_emision.class
159
+ return @fecha_de_emision.strftime(NubeFact::DATE_FORMAT)
160
+ end
161
+ @fecha_de_emision
162
+ end
163
+
150
164
  end
@@ -1,3 +1,3 @@
1
1
  module NubeFact
2
- VERSION = "0.0.6"
2
+ VERSION = "0.0.7"
3
3
  end
data/lib/util/utils.rb CHANGED
@@ -25,14 +25,14 @@ module NubeFact::Utils
25
25
  private
26
26
  def set_default_data
27
27
  self.class::DEFAULT_DATA.each do |field, value|
28
- value = value.call if value.kind_of? Proc
28
+ next if send(field)
29
+
30
+ value = value.call(self) if value.kind_of? Proc
29
31
  send "#{field}=", value
30
32
  end
31
33
  end
32
34
 
33
35
  def load_data_from_param(data_hash)
34
- set_default_data
35
-
36
36
  data_hash.each do|key, value|
37
37
  if self.class.const_defined?('AUTO_CALCULATED_FIELDS') \
38
38
  && self.class::AUTO_CALCULATED_FIELDS.include?(key)
@@ -45,5 +45,7 @@ module NubeFact::Utils
45
45
  raise NubeFact::InvalidField.new "Invalid Field: #{key}"
46
46
  end
47
47
  end
48
+
49
+ set_default_data
48
50
  end
49
51
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: nubefact
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.6
4
+ version: 0.0.7
5
5
  platform: ruby
6
6
  authors:
7
7
  - Arnold Roa