zatca 0.1.2 → 1.0.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (56) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +11 -2
  3. data/bin/console +0 -0
  4. data/bin/setup +0 -0
  5. data/lib/zatca/client.rb +173 -0
  6. data/lib/zatca/hacks.rb +45 -0
  7. data/lib/zatca/hashing.rb +18 -0
  8. data/lib/zatca/qr_code_extractor.rb +31 -0
  9. data/lib/zatca/qr_code_generator.rb +9 -2
  10. data/lib/zatca/signing/certificate.rb +78 -0
  11. data/lib/zatca/signing/csr.rb +220 -0
  12. data/lib/zatca/signing/ecdsa.rb +59 -0
  13. data/lib/zatca/tag.rb +18 -8
  14. data/lib/zatca/tags.rb +5 -1
  15. data/lib/zatca/tags_schema.rb +5 -5
  16. data/lib/zatca/types.rb +7 -0
  17. data/lib/zatca/ubl/base_component.rb +142 -0
  18. data/lib/zatca/ubl/builder.rb +166 -0
  19. data/lib/zatca/ubl/common_aggregate_components/allowance_charge.rb +64 -0
  20. data/lib/zatca/ubl/common_aggregate_components/classified_tax_category.rb +25 -0
  21. data/lib/zatca/ubl/common_aggregate_components/delivery.rb +27 -0
  22. data/lib/zatca/ubl/common_aggregate_components/invoice_line.rb +63 -0
  23. data/lib/zatca/ubl/common_aggregate_components/item.rb +21 -0
  24. data/lib/zatca/ubl/common_aggregate_components/legal_monetary_total.rb +59 -0
  25. data/lib/zatca/ubl/common_aggregate_components/party.rb +28 -0
  26. data/lib/zatca/ubl/common_aggregate_components/party_identification.rb +25 -0
  27. data/lib/zatca/ubl/common_aggregate_components/party_legal_entity.rb +19 -0
  28. data/lib/zatca/ubl/common_aggregate_components/party_tax_scheme.rb +30 -0
  29. data/lib/zatca/ubl/common_aggregate_components/postal_address.rb +59 -0
  30. data/lib/zatca/ubl/common_aggregate_components/price.rb +20 -0
  31. data/lib/zatca/ubl/common_aggregate_components/tax_category.rb +56 -0
  32. data/lib/zatca/ubl/common_aggregate_components/tax_total.rb +58 -0
  33. data/lib/zatca/ubl/common_aggregate_components.rb +2 -0
  34. data/lib/zatca/ubl/invoice.rb +481 -0
  35. data/lib/zatca/ubl/invoice_subtype_builder.rb +50 -0
  36. data/lib/zatca/ubl/signing/cert.rb +48 -0
  37. data/lib/zatca/ubl/signing/invoice_signed_data_reference.rb +44 -0
  38. data/lib/zatca/ubl/signing/key_info.rb +25 -0
  39. data/lib/zatca/ubl/signing/object.rb +20 -0
  40. data/lib/zatca/ubl/signing/qualifying_properties.rb +27 -0
  41. data/lib/zatca/ubl/signing/signature.rb +50 -0
  42. data/lib/zatca/ubl/signing/signature_information.rb +19 -0
  43. data/lib/zatca/ubl/signing/signature_properties_reference.rb +26 -0
  44. data/lib/zatca/ubl/signing/signed_info.rb +21 -0
  45. data/lib/zatca/ubl/signing/signed_properties.rb +81 -0
  46. data/lib/zatca/ubl/signing/signed_signature_properties.rb +23 -0
  47. data/lib/zatca/ubl/signing/ubl_document_signatures.rb +25 -0
  48. data/lib/zatca/ubl/signing/ubl_extension.rb +22 -0
  49. data/lib/zatca/ubl/signing/ubl_extensions.rb +17 -0
  50. data/lib/zatca/ubl/signing.rb +2 -0
  51. data/lib/zatca/ubl.rb +2 -0
  52. data/lib/zatca/version.rb +1 -1
  53. data/lib/zatca.rb +27 -3
  54. data/zatca.gemspec +52 -0
  55. metadata +165 -10
  56. data/Gemfile.lock +0 -100
data/Gemfile.lock DELETED
@@ -1,100 +0,0 @@
1
- PATH
2
- remote: .
3
- specs:
4
- zatca (0.1.1)
5
- dry-schema (~> 1.5)
6
- rqrcode (~> 2.1.0)
7
- zeitwerk (~> 2.4)
8
-
9
- GEM
10
- remote: https://rubygems.org/
11
- specs:
12
- ast (2.4.2)
13
- byebug (9.1.0)
14
- chunky_png (1.4.0)
15
- concurrent-ruby (1.1.9)
16
- diff-lcs (1.4.4)
17
- dry-configurable (0.13.0)
18
- concurrent-ruby (~> 1.0)
19
- dry-core (~> 0.6)
20
- dry-container (0.9.0)
21
- concurrent-ruby (~> 1.0)
22
- dry-configurable (~> 0.13, >= 0.13.0)
23
- dry-core (0.7.1)
24
- concurrent-ruby (~> 1.0)
25
- dry-inflector (0.2.1)
26
- dry-initializer (3.0.4)
27
- dry-logic (1.2.0)
28
- concurrent-ruby (~> 1.0)
29
- dry-core (~> 0.5, >= 0.5)
30
- dry-schema (1.8.0)
31
- concurrent-ruby (~> 1.0)
32
- dry-configurable (~> 0.13, >= 0.13.0)
33
- dry-core (~> 0.5, >= 0.5)
34
- dry-initializer (~> 3.0)
35
- dry-logic (~> 1.0)
36
- dry-types (~> 1.5)
37
- dry-types (1.5.1)
38
- concurrent-ruby (~> 1.0)
39
- dry-container (~> 0.3)
40
- dry-core (~> 0.5, >= 0.5)
41
- dry-inflector (~> 0.1, >= 0.1.2)
42
- dry-logic (~> 1.0, >= 1.0.2)
43
- parallel (1.21.0)
44
- parser (3.0.2.0)
45
- ast (~> 2.4.1)
46
- rainbow (3.0.0)
47
- rake (13.0.6)
48
- regexp_parser (2.1.1)
49
- rexml (3.2.5)
50
- rqrcode (2.1.0)
51
- chunky_png (~> 1.0)
52
- rqrcode_core (~> 1.0)
53
- rqrcode_core (1.2.0)
54
- rspec (3.10.0)
55
- rspec-core (~> 3.10.0)
56
- rspec-expectations (~> 3.10.0)
57
- rspec-mocks (~> 3.10.0)
58
- rspec-core (3.10.1)
59
- rspec-support (~> 3.10.0)
60
- rspec-expectations (3.10.1)
61
- diff-lcs (>= 1.2.0, < 2.0)
62
- rspec-support (~> 3.10.0)
63
- rspec-mocks (3.10.2)
64
- diff-lcs (>= 1.2.0, < 2.0)
65
- rspec-support (~> 3.10.0)
66
- rspec-support (3.10.2)
67
- rubocop (1.20.0)
68
- parallel (~> 1.10)
69
- parser (>= 3.0.0.0)
70
- rainbow (>= 2.2.2, < 4.0)
71
- regexp_parser (>= 1.8, < 3.0)
72
- rexml
73
- rubocop-ast (>= 1.9.1, < 2.0)
74
- ruby-progressbar (~> 1.7)
75
- unicode-display_width (>= 1.4.0, < 3.0)
76
- rubocop-ast (1.12.0)
77
- parser (>= 3.0.1.1)
78
- rubocop-performance (1.11.5)
79
- rubocop (>= 1.7.0, < 2.0)
80
- rubocop-ast (>= 0.4.0)
81
- ruby-progressbar (1.11.0)
82
- standard (1.3.0)
83
- rubocop (= 1.20.0)
84
- rubocop-performance (= 1.11.5)
85
- unicode-display_width (2.1.0)
86
- zeitwerk (2.4.2)
87
-
88
- PLATFORMS
89
- x86_64-darwin-20
90
- x86_64-linux
91
-
92
- DEPENDENCIES
93
- byebug (~> 9.0)
94
- rake (~> 13.0)
95
- rspec (~> 3.10)
96
- standard (~> 1.3)
97
- zatca!
98
-
99
- BUNDLED WITH
100
- 2.2.30