nubefact 0.0.2 → 0.0.3

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: 334a6ea69d81677919e57612d6ffb3b2f781a17f
4
- data.tar.gz: 54c4acd5cdf9f73ca74d9a245a5e0bbfa3cbf743
3
+ metadata.gz: 096ea3a2546138dd63d789c2a29e6fee81b98084
4
+ data.tar.gz: dda3d8057dc25a06843937614531daf013b5aa45
5
5
  SHA512:
6
- metadata.gz: 16700cd9ab376dd903148f1cd4ae9158dc4e66dabbf8360842aba3e77b9bce84afa1b62c7405d85b96504b794f6de981bae89789a85c0dba8b4a8ff12c83c473
7
- data.tar.gz: df676318a355cdce1080ca465deb481d7e79de9d038b92e7b88b3560506ff16ee900644a1eb807c747157ae985a742619a32ca1d1afd761dd22f9251a085dcff
6
+ metadata.gz: 51ed1df354d273e9bf8cefc258a102ca96e1c3ca6d80fcd46f08b380044393696fcd5f6fba21fba608702ad2b8af24651d53092aa453aa8d11734cb498c712d7
7
+ data.tar.gz: bd846801d41d65513afaffe669f7c90c68e07374ccfcbf73407f3d241825d7918ddd48b100833026baeb064c09019a3bab7cde6abf6205d6fd9252a761f54a13
@@ -143,4 +143,8 @@ class NubeFact::Invoice
143
143
  NubeFact.request to_h
144
144
  end
145
145
 
146
+ def calculate_amounts
147
+
148
+ end
149
+
146
150
  end
@@ -95,4 +95,5 @@ class NubeFact::Invoice::Item
95
95
  # Check description on FIELDS constant
96
96
  TYPES_SUBJECT_TO_IGV.include? tipo_de_igv
97
97
  end
98
+
98
99
  end
@@ -1,3 +1,3 @@
1
1
  module NubeFact
2
- VERSION = "0.0.2"
2
+ VERSION = "0.0.3"
3
3
  end
@@ -1,10 +1,25 @@
1
1
  module NubeFact::Utils
2
+ # This iterates over all fields and if is an array (items and guias) converts
3
+ # it to hash using to_h
2
4
  def to_h
3
- Hash[self.class::FIELDS.map{|field| [field, send(field)]}]
5
+ Hash[self.class::FIELDS.map do |field|
6
+ value = send(field)
7
+ value = value.map &:to_h if value.is_a? Array
8
+ [field, value]
9
+ end]
4
10
  end
5
11
 
6
12
  def to_json(options = {})
7
- JSON.generate self.to_h, options
13
+ self.to_h.to_json options
14
+ end
15
+
16
+ # Fix to bug due to ActiveSupport::Serialization JSON.
17
+ # it calls as_json in order to get the hash representation of the object
18
+ # ActiveSupport uses all object attributes, including item.invoice who force
19
+ # the json convertion into an infinite loop:
20
+ #. (invoice -> items -> item -> invoice -> items -> item ...)
21
+ def as_json(options={})
22
+ Hash[to_h.map { |k, v| [k.to_s, options ? v.as_json(options.dup) : v.as_json] }]
8
23
  end
9
24
 
10
25
  private
@@ -33,6 +33,6 @@ Gem::Specification.new do |spec|
33
33
  spec.add_development_dependency "bundler", "~> 1.13"
34
34
  spec.add_development_dependency "rake", "~> 10.0"
35
35
  spec.add_development_dependency "rspec", "~> 3.6"
36
- spec.add_development_dependency "simplecov"
37
- spec.add_development_dependency "webmock"
36
+ # spec.add_development_dependency "simplecov"
37
+ # spec.add_development_dependency "webmock"
38
38
  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.2
4
+ version: 0.0.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Arnold Roa
@@ -52,34 +52,6 @@ dependencies:
52
52
  - - "~>"
53
53
  - !ruby/object:Gem::Version
54
54
  version: '3.6'
55
- - !ruby/object:Gem::Dependency
56
- name: simplecov
57
- requirement: !ruby/object:Gem::Requirement
58
- requirements:
59
- - - ">="
60
- - !ruby/object:Gem::Version
61
- version: '0'
62
- type: :development
63
- prerelease: false
64
- version_requirements: !ruby/object:Gem::Requirement
65
- requirements:
66
- - - ">="
67
- - !ruby/object:Gem::Version
68
- version: '0'
69
- - !ruby/object:Gem::Dependency
70
- name: webmock
71
- requirement: !ruby/object:Gem::Requirement
72
- requirements:
73
- - - ">="
74
- - !ruby/object:Gem::Version
75
- version: '0'
76
- type: :development
77
- prerelease: false
78
- version_requirements: !ruby/object:Gem::Requirement
79
- requirements:
80
- - - ">="
81
- - !ruby/object:Gem::Version
82
- version: '0'
83
55
  description: Ruby gem to consume NubeFact API to generate electronic tax document
84
56
  in PERU.
85
57
  email: