arca.rb 1.0.1 → 1.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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: c8d2177ff2a7410f72cf2b1cf7e730ed4b683a49980cf26d6dd861e6d08e1025
4
- data.tar.gz: 066b1a6a6ae7b089cc95a91d3ce034ddec3911d7cbc3c43fc16168a0e2bb85e5
3
+ metadata.gz: 81ac40aba0c7a3e67dc24402f3888da7af56ab40d785511da1ca310b2a3054e5
4
+ data.tar.gz: 41b29c0590307f836ccbe05d57d6f291382f0c545b6a8f1161533de6fcb24622
5
5
  SHA512:
6
- metadata.gz: e2da9b334aa535351083be80a9734cd65777947990ccdbc48b369b71a97e9fc3bb5b6ea56e767493f9147c218159ae3bce47bcc713c469163b6d1033947fc1d1
7
- data.tar.gz: 8f8a371d97b9ee91b03d345b1f38973668e4e81b7294f7450d4a18e5f09306462ef9831b8a1d2dae7759edec5d0294f8c83b27512aba5077c827b4b9c61b021a
6
+ metadata.gz: ca0895cc00a9f1ebe502fb3021f1305b9073ce1d28b5bab672cac50e124ee2639d88f472659ad17819b6295069e6a28d10603cd48e5d2390eb7fd6b9fe69c03f
7
+ data.tar.gz: 61c8e280fdd2f2d7e177e21fba6ddd5f2b46e25c1f98a98f93ead854e3ba747eb6c935723c5b02968c87913441152d7cdfd794369ac0ca7f6bd4c87d20542384
data/CHANGELOG.md CHANGED
@@ -1,5 +1,11 @@
1
1
  # Arca Changelog
2
2
 
3
+ ## [1.0.2] - 2025-02-09
4
+
5
+ - **Errores:** En WSAA, `persist_ta` ahora encapsula fallos en `Arca::ServerError` en lugar de re-levantar excepciones crudas (mejor encapsulación y menos riesgo de filtrar datos sensibles en logs).
6
+ - **Test:** Añadido test que verifica que `persist_ta` levanta `ServerError` con la excepción original en `cause`.
7
+ - Actualización de gems/dependencias.
8
+
3
9
  ## [1.0.1] - 2025-02-05
4
10
  - Fix ruta hardcodeada de certificados SSL CA. Usar OpenSSL::X509::DEFAULT_CERT_FILE en lugar de la ruta hardcodeada
5
11
  /etc/ssl/certs/ca-certificates.crt para soportar múltiples plataformas.
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- arca.rb (1.0.1)
4
+ arca.rb (1.0.2)
5
5
  activesupport
6
6
  builder
7
7
  httpclient
@@ -39,7 +39,7 @@ GEM
39
39
  connection_pool (3.0.2)
40
40
  date (3.5.1)
41
41
  drb (2.2.3)
42
- faraday (2.14.0)
42
+ faraday (2.14.1)
43
43
  faraday-net_http (>= 2.0, < 3.5)
44
44
  json
45
45
  logger
@@ -58,7 +58,7 @@ GEM
58
58
  i18n (1.14.8)
59
59
  concurrent-ruby (~> 1.0)
60
60
  io-console (0.8.2)
61
- json (2.18.0)
61
+ json (2.18.1)
62
62
  language_server-protocol (3.17.0.5)
63
63
  lint_roller (1.1.0)
64
64
  logger (1.7.0)
@@ -111,7 +111,7 @@ GEM
111
111
  reline (0.6.3)
112
112
  io-console (~> 0.5)
113
113
  rexml (3.4.4)
114
- rubocop (1.84.0)
114
+ rubocop (1.84.1)
115
115
  json (~> 2.3)
116
116
  language_server-protocol (~> 3.17.0.2)
117
117
  lint_roller (~> 1.1.0)
data/arca.gemspec CHANGED
@@ -12,7 +12,7 @@ Gem::Specification.new do |s|
12
12
  s.email = [ 'hola@arcakit.dev' ]
13
13
  s.homepage = 'https://arcakit.dev'
14
14
  s.summary = 'Cliente Ruby para webservices de AFIP/ARCA: facturación electrónica, comprobantes y servicios tributarios de Argentina'
15
- s.description = 'Cliente Ruby para integrar webservices SOAP de ARCA/AFIPen Argentina. Soporta facturación electrónica (WSFE), factura electrónica de crédito MiPyMEs (WSFeCred), autenticación WSAA, consulta de padrón de contribuyentes, constatación de comprobantes fiscales y todos los servicios tributarios de la API de AFIP. Ideal para aplicaciones Rails que necesitan generar facturas electrónicas y comprobantes en Argentina.'
15
+ s.description = 'Cliente Ruby para integrar webservices SOAP de ARCA/AFIP en Argentina.'
16
16
  s.license = 'MIT'
17
17
 
18
18
  s.files = `git ls-files`.split("\n")
data/lib/arca/version.rb CHANGED
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Arca
4
- VERSION = "1.0.1"
4
+ VERSION = "1.0.2"
5
5
  end
data/lib/arca/wsaa.rb CHANGED
@@ -116,13 +116,13 @@ module Arca
116
116
  temp_path = "#{@ta_path}.#{Process.pid}.tmp"
117
117
  File.write(temp_path, JSON.generate(payload))
118
118
  File.rename(temp_path, @ta_path)
119
- rescue StandardError
119
+ rescue StandardError => e
120
120
  File.delete(temp_path) if defined?(temp_path) && File.exist?(temp_path)
121
- raise
121
+ raise ServerError, e
122
122
  end
123
123
 
124
124
  def xsd_datetime(time)
125
- time.strftime("%Y-%m-%dT%H:%M:%S%z").sub /(\d{2})(\d{2})$/, '\1:\2'
125
+ time.strftime("%Y-%m-%dT%H:%M:%S%z").sub(/(\d{2})(\d{2})$/, '\1:\2')
126
126
  end
127
127
 
128
128
  def from_xsd_datetime(str)
@@ -76,5 +76,15 @@ module Arca
76
76
  subject.auth
77
77
  assert_equal "t2", subject.ta[:token]
78
78
  end
79
+
80
+ def test_persist_ta_encapsula_errores_en_server_error
81
+ File.stubs(:write).raises(Errno::EACCES.new("Permission denied"))
82
+ ta = { token: "t", sign: "s", generation_time: Time.now, expiration_time: Time.now + 60 }
83
+ ws = WSAA.new(wsdl: Arca::WSFE::WSDL[:test])
84
+
85
+ error = assert_raises(ServerError) { ws.send(:persist_ta, ta) }
86
+ assert_equal Errno::EACCES, error.cause.class
87
+ assert_match(/Permission denied/, error.cause.message)
88
+ end
79
89
  end
80
90
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: arca.rb
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.1
4
+ version: 1.0.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Arca Kit
@@ -149,11 +149,7 @@ dependencies:
149
149
  - - "~>"
150
150
  - !ruby/object:Gem::Version
151
151
  version: 2.15.0
152
- description: Cliente Ruby para integrar webservices SOAP de ARCA/AFIPen Argentina.
153
- Soporta facturación electrónica (WSFE), factura electrónica de crédito MiPyMEs (WSFeCred),
154
- autenticación WSAA, consulta de padrón de contribuyentes, constatación de comprobantes
155
- fiscales y todos los servicios tributarios de la API de AFIP. Ideal para aplicaciones
156
- Rails que necesitan generar facturas electrónicas y comprobantes en Argentina.
152
+ description: Cliente Ruby para integrar webservices SOAP de ARCA/AFIP en Argentina.
157
153
  email:
158
154
  - hola@arcakit.dev
159
155
  executables: