afipws 0.1.8 → 0.2.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: af0aba9e6eb57dd5305a4c8836a1a589b7001f89
4
+ data.tar.gz: 9a0f95b8ef6c03b321652802791a83cdcb0fc1ab
5
+ SHA512:
6
+ metadata.gz: c1d1f1441ad8d505028b3c3908583381627952ba538913b38d5c5ac80bc562f501dfc903a2bd7976ee85857c6bf1780f2c2c28759ea1577c08c8c688bf108ce5
7
+ data.tar.gz: 18cb3316c1d763e0172a676c78e2e960f09114953ec3b50fe30482f97aa630eadc74ccf665a322f96146a9c40f2edc5986c1958a6e40928cbfc2e3e6c495aa16
data/.ruby-version ADDED
@@ -0,0 +1 @@
1
+ 2.3.1
data/Gemfile.lock CHANGED
@@ -1,10 +1,11 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- afipws (0.1.8)
4
+ afipws (0.2.0)
5
5
  activesupport
6
6
  builder
7
7
  httpclient
8
+ httpi (>= 2.4.2)
8
9
  i18n
9
10
  nokogiri
10
11
  savon
@@ -12,25 +13,32 @@ PATH
12
13
  GEM
13
14
  remote: http://rubygems.org/
14
15
  specs:
15
- activesupport (3.0.3)
16
- archive-tar-minitar (0.5.2)
16
+ activesupport (5.0.0.1)
17
+ concurrent-ruby (~> 1.0, >= 1.0.2)
18
+ i18n (~> 0.7)
19
+ minitest (~> 5.1)
20
+ tzinfo (~> 1.1)
17
21
  builder (3.0.0)
18
- columnize (0.3.2)
22
+ concurrent-ruby (1.0.2)
19
23
  crack (0.1.8)
20
24
  diff-lcs (1.1.2)
21
25
  gyoku (0.2.0)
22
26
  builder (>= 2.1.2)
23
- httpclient (2.1.6.1)
24
- httpi (0.7.8)
27
+ httpclient (2.8.2.4)
28
+ httpi (2.4.2)
25
29
  rack
26
- i18n (0.5.0)
27
- linecache19 (0.5.11)
28
- ruby_core_source (>= 0.1.4)
30
+ socksify
31
+ i18n (0.7.0)
32
+ mini_portile2 (2.1.0)
33
+ minitest (5.9.1)
29
34
  mocha (0.9.10)
30
35
  rake
31
- nokogiri (1.4.4)
32
- rack (1.2.1)
33
- rake (0.8.7)
36
+ nokogiri (1.6.8)
37
+ mini_portile2 (~> 2.1.0)
38
+ pkg-config (~> 1.1.7)
39
+ pkg-config (1.1.7)
40
+ rack (2.0.1)
41
+ rake (10.4.2)
34
42
  rspec (2.4.0)
35
43
  rspec-core (~> 2.4.0)
36
44
  rspec-expectations (~> 2.4.0)
@@ -39,16 +47,6 @@ GEM
39
47
  rspec-expectations (2.4.0)
40
48
  diff-lcs (~> 1.1.2)
41
49
  rspec-mocks (2.4.0)
42
- ruby-debug-base19 (0.11.24)
43
- columnize (>= 0.3.1)
44
- linecache19 (>= 0.5.11)
45
- ruby_core_source (>= 0.1.4)
46
- ruby-debug19 (0.11.6)
47
- columnize (>= 0.3.1)
48
- linecache19 (>= 0.5.11)
49
- ruby-debug-base19 (>= 0.11.19)
50
- ruby_core_source (0.1.4)
51
- archive-tar-minitar (>= 0.5.2)
52
50
  savon (0.8.3)
53
51
  builder (>= 2.1.2)
54
52
  crack (~> 0.1.8)
@@ -58,12 +56,19 @@ GEM
58
56
  mocha (>= 0.9.8)
59
57
  rspec (>= 2.0.0)
60
58
  savon (~> 0.8.0)
59
+ socksify (1.7.0)
60
+ thread_safe (0.3.5)
61
+ tzinfo (1.2.2)
62
+ thread_safe (~> 0.1)
61
63
 
62
64
  PLATFORMS
63
65
  ruby
64
66
 
65
67
  DEPENDENCIES
66
68
  afipws!
69
+ rake (~> 10.4.2)
67
70
  rspec
68
- ruby-debug19
69
71
  savon_spec
72
+
73
+ BUNDLED WITH
74
+ 1.12.3
data/Guardfile ADDED
@@ -0,0 +1,21 @@
1
+ # A sample Guardfile
2
+ # More info at https://github.com/guard/guard#readme
3
+
4
+ ## Uncomment and set this to only include directories you want to watch
5
+ # directories %w(app lib config test spec features) \
6
+ # .select{|d| Dir.exists?(d) ? d : UI.warning("Directory #{d} does not exist")}
7
+
8
+ ## Note: if you are using the `directories` clause above and you are not
9
+ ## watching the project directory ('.'), then you will want to move
10
+ ## the Guardfile to a watched dir and symlink it back, e.g.
11
+ #
12
+ # $ mkdir config
13
+ # $ mv Guardfile config/
14
+ # $ ln -s config/Guardfile .
15
+ #
16
+ # and, you'll have to watch "config/Guardfile" instead of "Guardfile"
17
+ guard :rspec, cmd: 'rspec' do
18
+ watch(%r{^spec/.+_spec\.rb$})
19
+ watch(%r{^lib/(.+)\.rb$}) { |m| "spec/lib/#{m[1]}_spec.rb" }
20
+ watch('spec/spec_helper.rb') { "spec" }
21
+ end
data/afipws.gemspec CHANGED
@@ -1,4 +1,3 @@
1
- # -*- encoding: utf-8 -*-
2
1
  $:.push File.expand_path("../lib", __FILE__)
3
2
  require "afipws/version"
4
3
 
@@ -20,12 +19,13 @@ Gem::Specification.new do |s|
20
19
  s.require_paths = ["lib"]
21
20
 
22
21
  s.add_development_dependency "rspec"
23
- s.add_development_dependency "ruby-debug19"
24
22
  s.add_development_dependency "savon_spec"
23
+ s.add_development_dependency "rake", '~> 10.4.2'
25
24
  s.add_dependency "builder"
26
25
  s.add_dependency "savon"
27
26
  s.add_dependency "nokogiri"
28
27
  s.add_dependency "activesupport"
29
28
  s.add_dependency "i18n"
30
29
  s.add_dependency "httpclient"
30
+ s.add_dependency "httpi", '>= 2.4.2'
31
31
  end
data/lib/afipws.rb CHANGED
@@ -7,6 +7,7 @@ require 'builder'
7
7
  require 'base64'
8
8
  require 'savon'
9
9
  require 'nokogiri'
10
+ require 'active_support'
10
11
  require 'active_support/core_ext'
11
12
  require 'afipws/core_ext/hash'
12
13
  require 'afipws/excepciones'
data/lib/afipws/client.rb CHANGED
@@ -3,7 +3,8 @@ module Afipws
3
3
  def initialize wsdl_url, env
4
4
  @client = Savon::Client.new do
5
5
  wsdl.document = wsdl_url
6
- http.auth.ssl.verify_mode = :none if env == :development # esto está porque el certificado del WSAA había vencido durante las pruebas
6
+ http.auth.ssl.verify_mode = :none if env == :development # Esto está porque el certificado del WSAA había vencido durante las pruebas
7
+ http.auth.ssl.ssl_version = :SSLv3 if env == :development || Date.today >= Date.new(2016,11,1) # Esto es porque la afip cambió el algoritmo de cifrado de los certificados y sin esto no conectaba al WSFE. En el entorno de homologación ya está realizado el cambio pero en production recién el 1/11/2016.
7
8
  end
8
9
  end
9
10
 
@@ -29,6 +30,7 @@ module Afipws
29
30
  end
30
31
 
31
32
  private
33
+
32
34
  def add_ns_to_keys body
33
35
  case body
34
36
  when Hash
@@ -1,3 +1,3 @@
1
1
  module Afipws
2
- VERSION = "0.1.8"
2
+ VERSION = "0.2.0"
3
3
  end
data/lib/afipws/wsaa.rb CHANGED
@@ -3,9 +3,9 @@ module Afipws
3
3
  attr_reader :key, :cert, :service, :ta, :cuit, :client
4
4
 
5
5
  WSDL = {
6
- :development => "https://wsaahomo.afip.gov.ar/ws/services/LoginCms?wsdl",
7
- :production => "https://wsaa.afip.gov.ar/ws/services/LoginCms?wsdl",
8
- :test => Root + "/spec/fixtures/wsaa.wsdl"
6
+ development: "https://wsaahomo.afip.gov.ar/ws/services/LoginCms?wsdl",
7
+ production: "https://wsaa.afip.gov.ar/ws/services/LoginCms?wsdl",
8
+ test: Root + "/spec/fixtures/wsaa.wsdl"
9
9
  }
10
10
 
11
11
  def initialize options = {}
@@ -49,9 +49,9 @@ module Afipws
49
49
  def login
50
50
  response = @client.raw_request :login_cms, 'in0' => tra(@key, @cert, @service, @ttl)
51
51
  ta = Nokogiri::XML(Nokogiri::XML(response.to_xml).text)
52
- { :token => ta.css('token').text, :sign => ta.css('sign').text,
53
- :generation_time => from_xsd_datetime(ta.css('generationTime').text),
54
- :expiration_time => from_xsd_datetime(ta.css('expirationTime').text) }
52
+ { token: ta.css('token').text, sign: ta.css('sign').text,
53
+ generation_time: from_xsd_datetime(ta.css('generationTime').text),
54
+ expiration_time: from_xsd_datetime(ta.css('expirationTime').text) }
55
55
  rescue Savon::SOAP::Fault => f
56
56
  raise WSError, f.message
57
57
  end
@@ -60,7 +60,7 @@ module Afipws
60
60
  # en los otros WS.
61
61
  def auth
62
62
  @ta = login if ta_expirado?
63
- { :auth => { :token => @ta[:token], :sign => @ta[:sign], :cuit => @cuit } }
63
+ { auth: { token: @ta[:token], sign: @ta[:sign], cuit: @cuit } }
64
64
  end
65
65
 
66
66
  private
data/lib/afipws/wsfe.rb CHANGED
@@ -6,15 +6,15 @@ module Afipws
6
6
  def_delegators :wsaa, :ta, :auth, :cuit
7
7
 
8
8
  WSDL = {
9
- :development => "https://wswhomo.afip.gov.ar/wsfev1/service.asmx?WSDL",
10
- # :production => "https://servicios1.afip.gov.ar/wsfev1/service.asmx?WSDL",
11
- :production => Root + "/lib/afipws/wsfev1.wsdl",
12
- :test => Root + "/spec/fixtures/wsfe.wsdl"
9
+ development: "https://wswhomo.afip.gov.ar/wsfev1/service.asmx?WSDL",
10
+ # production: "https://servicios1.afip.gov.ar/wsfev1/service.asmx?WSDL",
11
+ production: Root + "/lib/afipws/wsfev1.wsdl",
12
+ test: Root + "/spec/fixtures/wsfe.wsdl"
13
13
  }
14
14
 
15
15
  def initialize options = {}
16
16
  @env = (options[:env] || :test).to_sym
17
- @wsaa = options[:wsaa] || WSAA.new(options.merge(:service => 'wsfe'))
17
+ @wsaa = options[:wsaa] || WSAA.new(options.merge(service: 'wsfe'))
18
18
  @client = Client.new WSDL[@env], @env
19
19
  end
20
20
 
@@ -24,57 +24,57 @@ module Afipws
24
24
 
25
25
  def tipos_comprobantes
26
26
  r = @client.fe_param_get_tipos_cbte auth
27
- x2r get_array(r, :cbte_tipo), :id => :integer, :fch_desde => :date, :fch_hasta => :date
27
+ x2r get_array(r, :cbte_tipo), id: :integer, fch_desde: :date, fch_hasta: :date
28
28
  end
29
29
 
30
30
  def tipos_documentos
31
31
  r = @client.fe_param_get_tipos_doc auth
32
- x2r get_array(r, :doc_tipo), :id => :integer, :fch_desde => :date, :fch_hasta => :date
32
+ x2r get_array(r, :doc_tipo), id: :integer, fch_desde: :date, fch_hasta: :date
33
33
  end
34
34
 
35
35
  def tipos_monedas
36
36
  r = @client.fe_param_get_tipos_monedas auth
37
- x2r get_array(r, :moneda), :fch_desde => :date, :fch_hasta => :date
37
+ x2r get_array(r, :moneda), fch_desde: :date, fch_hasta: :date
38
38
  end
39
39
 
40
40
  def tipos_iva
41
41
  r = @client.fe_param_get_tipos_iva auth
42
- x2r get_array(r, :iva_tipo), :id => :integer, :fch_desde => :date, :fch_hasta => :date
42
+ x2r get_array(r, :iva_tipo), id: :integer, fch_desde: :date, fch_hasta: :date
43
43
  end
44
44
 
45
45
  def tipos_tributos
46
46
  r = @client.fe_param_get_tipos_tributos auth
47
- x2r get_array(r, :tributo_tipo), :id => :integer, :fch_desde => :date, :fch_hasta => :date
47
+ x2r get_array(r, :tributo_tipo), id: :integer, fch_desde: :date, fch_hasta: :date
48
48
  end
49
49
 
50
50
  def puntos_venta
51
51
  r = @client.fe_param_get_ptos_venta auth
52
- x2r get_array(r, :pto_venta), :nro => :integer, :fch_baja => :date, :bloqueado => :boolean
52
+ x2r get_array(r, :pto_venta), nro: :integer, fch_baja: :date, bloqueado: :boolean
53
53
  end
54
54
 
55
55
  def cotizacion moneda_id
56
- @client.fe_param_get_cotizacion(auth.merge(:mon_id => moneda_id))[:result_get][:mon_cotiz].to_f
56
+ @client.fe_param_get_cotizacion(auth.merge(mon_id: moneda_id))[:result_get][:mon_cotiz].to_f
57
57
  end
58
58
 
59
59
  def autorizar_comprobantes opciones
60
60
  comprobantes = opciones[:comprobantes]
61
61
  request = { 'FeCAEReq' => {
62
- 'FeCabReq' => opciones.select_keys(:cbte_tipo, :pto_vta).merge(:cant_reg => comprobantes.size),
62
+ 'FeCabReq' => opciones.select_keys(:cbte_tipo, :pto_vta).merge(cant_reg: comprobantes.size),
63
63
  'FeDetReq' => { 'FECAEDetRequest' => comprobantes.map { |comprobante| comprobante_to_request comprobante }
64
64
  }}}
65
- r = @client.fecae_solicitar auth.merge r2x(request, :cbte_fch => :date)
65
+ r = @client.fecae_solicitar auth.merge r2x(request, cbte_fch: :date)
66
66
  r = Array.wrap(r[:fe_det_resp][:fecae_det_response]).map do |h|
67
67
  obs = Array.wrap(h[:observaciones] ? h[:observaciones][:obs] : nil)
68
- h.select_keys(:cae, :cae_fch_vto, :resultado).merge(:cbte_nro => h[:cbte_desde], :observaciones => obs)
68
+ h.select_keys(:cae, :cae_fch_vto, :resultado).merge(cbte_nro: h[:cbte_desde], observaciones: obs)
69
69
  end
70
- x2r r, :cae_fch_vto => :date, :cbte_nro => :integer, :code => :integer
70
+ x2r r, cae_fch_vto: :date, cbte_nro: :integer, code: :integer
71
71
  end
72
72
 
73
73
  def comprobante_to_request comprobante
74
74
  nro = comprobante.delete :cbte_nro
75
75
  iva = comprobante.delete :imp_iva
76
76
  comprobante.delete :tributos if comprobante[:imp_trib] == 0
77
- comprobante.merge :cbte_desde => nro, :cbte_hasta => nro, 'ImpIVA' => iva
77
+ comprobante.merge cbte_desde: nro, cbte_hasta: nro, 'ImpIVA' => iva
78
78
  end
79
79
 
80
80
  def solicitar_caea
@@ -94,17 +94,17 @@ module Afipws
94
94
  def informar_comprobantes_caea opciones
95
95
  comprobantes = opciones[:comprobantes]
96
96
  request = { 'FeCAEARegInfReq' => {
97
- 'FeCabReq' => opciones.select_keys(:cbte_tipo, :pto_vta).merge(:cant_reg => comprobantes.size),
97
+ 'FeCabReq' => opciones.select_keys(:cbte_tipo, :pto_vta).merge(cant_reg: comprobantes.size),
98
98
  'FeDetReq' => { 'FECAEADetRequest' => comprobantes.map do |comprobante|
99
99
  comprobante_to_request comprobante.merge('CAEA' => comprobante.delete(:caea))
100
100
  end
101
101
  }}}
102
- r = @client.fecaea_reg_informativo auth.merge r2x(request, :cbte_fch => :date)
102
+ r = @client.fecaea_reg_informativo auth.merge r2x(request, cbte_fch: :date)
103
103
  r = Array.wrap(r[:fe_det_resp][:fecaea_det_response]).map do |h|
104
104
  obs = Array.wrap(h[:observaciones] ? h[:observaciones][:obs] : nil)
105
- h.select_keys(:caea, :resultado).merge(:cbte_nro => h[:cbte_desde], :observaciones => obs)
105
+ h.select_keys(:caea, :resultado).merge(cbte_nro: h[:cbte_desde], observaciones: obs)
106
106
  end
107
- x2r r, :cbte_nro => :integer, :code => :integer
107
+ x2r r, cbte_nro: :integer, code: :integer
108
108
  end
109
109
 
110
110
  def informar_caea_sin_movimientos caea, pto_vta
@@ -116,7 +116,7 @@ module Afipws
116
116
  end
117
117
 
118
118
  def consultar_comprobante opciones
119
- @client.fe_comp_consultar(auth.merge(:fe_comp_cons_req => opciones))[:result_get]
119
+ @client.fe_comp_consultar(auth.merge(fe_comp_cons_req: opciones))[:result_get]
120
120
  end
121
121
 
122
122
  def cant_max_registros_x_lote
@@ -129,12 +129,12 @@ module Afipws
129
129
 
130
130
  def periodo_para_consulta_caea fecha
131
131
  orden = fecha.day <= 15 ? 1 : 2
132
- { :orden => orden, :periodo => fecha.strftime('%Y%m') }
132
+ { orden: orden, periodo: fecha.strftime('%Y%m') }
133
133
  end
134
134
 
135
135
  def fecha_inicio_quincena_siguiente
136
136
  hoy = Date.today
137
- hoy.day <= 15 ? hoy.change(:day => 16) : hoy.next_month.change(:day => 1)
137
+ hoy.day <= 15 ? hoy.change(day: 16) : hoy.next_month.change(day: 1)
138
138
  end
139
139
 
140
140
  private
@@ -143,7 +143,7 @@ module Afipws
143
143
  end
144
144
 
145
145
  def convertir_rta_caea r
146
- x2r r[:result_get], :fch_tope_inf => :date, :fch_vig_desde => :date, :fch_vig_hasta => :date
146
+ x2r r[:result_get], fch_tope_inf: :date, fch_vig_desde: :date, fch_vig_hasta: :date
147
147
  end
148
148
  end
149
149
  end
@@ -24,7 +24,7 @@ describe Afipws::WSAA do
24
24
 
25
25
  context "codificación del tra" do
26
26
  it "debería quitarle el header y footer" do
27
- subject.codificar_tra(OpenSSL::PKCS7.new).should == "MAMGAQA=\n"
27
+ subject.codificar_tra(OpenSSL::PKCS7.new).should == "MAIGAA==\n"
28
28
  end
29
29
  end
30
30
 
data/spec/spec_helper.rb CHANGED
@@ -1,5 +1,4 @@
1
1
  require 'rspec'
2
- require 'ruby-debug'
3
2
  require 'afipws'
4
3
  require 'savon_spec'
5
4
 
metadata CHANGED
@@ -1,133 +1,169 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: afipws
3
- version: !ruby/object:Gem::Version
4
- prerelease:
5
- version: 0.1.8
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.2.0
6
5
  platform: ruby
7
- authors:
6
+ authors:
8
7
  - Emmanuel Nicolau
9
8
  autorequire:
10
9
  bindir: bin
11
10
  cert_chain: []
12
-
13
- date: 2011-02-15 00:00:00 -03:00
14
- default_executable:
15
- dependencies:
16
- - !ruby/object:Gem::Dependency
11
+ date: 2016-09-26 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
17
14
  name: rspec
18
- requirement: &id001 !ruby/object:Gem::Requirement
19
- none: false
20
- requirements:
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
21
17
  - - ">="
22
- - !ruby/object:Gem::Version
23
- version: "0"
18
+ - !ruby/object:Gem::Version
19
+ version: '0'
24
20
  type: :development
25
21
  prerelease: false
26
- version_requirements: *id001
27
- - !ruby/object:Gem::Dependency
28
- name: ruby-debug19
29
- requirement: &id002 !ruby/object:Gem::Requirement
30
- none: false
31
- requirements:
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
32
24
  - - ">="
33
- - !ruby/object:Gem::Version
34
- version: "0"
25
+ - !ruby/object:Gem::Version
26
+ version: '0'
27
+ - !ruby/object:Gem::Dependency
28
+ name: savon_spec
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - ">="
32
+ - !ruby/object:Gem::Version
33
+ version: '0'
35
34
  type: :development
36
35
  prerelease: false
37
- version_requirements: *id002
38
- - !ruby/object:Gem::Dependency
39
- name: savon_spec
40
- requirement: &id003 !ruby/object:Gem::Requirement
41
- none: false
42
- requirements:
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
43
38
  - - ">="
44
- - !ruby/object:Gem::Version
45
- version: "0"
39
+ - !ruby/object:Gem::Version
40
+ version: '0'
41
+ - !ruby/object:Gem::Dependency
42
+ name: rake
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - "~>"
46
+ - !ruby/object:Gem::Version
47
+ version: 10.4.2
46
48
  type: :development
47
49
  prerelease: false
48
- version_requirements: *id003
49
- - !ruby/object:Gem::Dependency
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - "~>"
53
+ - !ruby/object:Gem::Version
54
+ version: 10.4.2
55
+ - !ruby/object:Gem::Dependency
50
56
  name: builder
51
- requirement: &id004 !ruby/object:Gem::Requirement
52
- none: false
53
- requirements:
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
54
59
  - - ">="
55
- - !ruby/object:Gem::Version
56
- version: "0"
60
+ - !ruby/object:Gem::Version
61
+ version: '0'
57
62
  type: :runtime
58
63
  prerelease: false
59
- version_requirements: *id004
60
- - !ruby/object:Gem::Dependency
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - ">="
67
+ - !ruby/object:Gem::Version
68
+ version: '0'
69
+ - !ruby/object:Gem::Dependency
61
70
  name: savon
62
- requirement: &id005 !ruby/object:Gem::Requirement
63
- none: false
64
- requirements:
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
65
73
  - - ">="
66
- - !ruby/object:Gem::Version
67
- version: "0"
74
+ - !ruby/object:Gem::Version
75
+ version: '0'
68
76
  type: :runtime
69
77
  prerelease: false
70
- version_requirements: *id005
71
- - !ruby/object:Gem::Dependency
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - ">="
81
+ - !ruby/object:Gem::Version
82
+ version: '0'
83
+ - !ruby/object:Gem::Dependency
72
84
  name: nokogiri
73
- requirement: &id006 !ruby/object:Gem::Requirement
74
- none: false
75
- requirements:
85
+ requirement: !ruby/object:Gem::Requirement
86
+ requirements:
76
87
  - - ">="
77
- - !ruby/object:Gem::Version
78
- version: "0"
88
+ - !ruby/object:Gem::Version
89
+ version: '0'
79
90
  type: :runtime
80
91
  prerelease: false
81
- version_requirements: *id006
82
- - !ruby/object:Gem::Dependency
92
+ version_requirements: !ruby/object:Gem::Requirement
93
+ requirements:
94
+ - - ">="
95
+ - !ruby/object:Gem::Version
96
+ version: '0'
97
+ - !ruby/object:Gem::Dependency
83
98
  name: activesupport
84
- requirement: &id007 !ruby/object:Gem::Requirement
85
- none: false
86
- requirements:
99
+ requirement: !ruby/object:Gem::Requirement
100
+ requirements:
87
101
  - - ">="
88
- - !ruby/object:Gem::Version
89
- version: "0"
102
+ - !ruby/object:Gem::Version
103
+ version: '0'
90
104
  type: :runtime
91
105
  prerelease: false
92
- version_requirements: *id007
93
- - !ruby/object:Gem::Dependency
106
+ version_requirements: !ruby/object:Gem::Requirement
107
+ requirements:
108
+ - - ">="
109
+ - !ruby/object:Gem::Version
110
+ version: '0'
111
+ - !ruby/object:Gem::Dependency
94
112
  name: i18n
95
- requirement: &id008 !ruby/object:Gem::Requirement
96
- none: false
97
- requirements:
113
+ requirement: !ruby/object:Gem::Requirement
114
+ requirements:
98
115
  - - ">="
99
- - !ruby/object:Gem::Version
100
- version: "0"
116
+ - !ruby/object:Gem::Version
117
+ version: '0'
101
118
  type: :runtime
102
119
  prerelease: false
103
- version_requirements: *id008
104
- - !ruby/object:Gem::Dependency
120
+ version_requirements: !ruby/object:Gem::Requirement
121
+ requirements:
122
+ - - ">="
123
+ - !ruby/object:Gem::Version
124
+ version: '0'
125
+ - !ruby/object:Gem::Dependency
105
126
  name: httpclient
106
- requirement: &id009 !ruby/object:Gem::Requirement
107
- none: false
108
- requirements:
127
+ requirement: !ruby/object:Gem::Requirement
128
+ requirements:
129
+ - - ">="
130
+ - !ruby/object:Gem::Version
131
+ version: '0'
132
+ type: :runtime
133
+ prerelease: false
134
+ version_requirements: !ruby/object:Gem::Requirement
135
+ requirements:
136
+ - - ">="
137
+ - !ruby/object:Gem::Version
138
+ version: '0'
139
+ - !ruby/object:Gem::Dependency
140
+ name: httpi
141
+ requirement: !ruby/object:Gem::Requirement
142
+ requirements:
109
143
  - - ">="
110
- - !ruby/object:Gem::Version
111
- version: "0"
144
+ - !ruby/object:Gem::Version
145
+ version: 2.4.2
112
146
  type: :runtime
113
147
  prerelease: false
114
- version_requirements: *id009
115
- description: ""
116
- email:
148
+ version_requirements: !ruby/object:Gem::Requirement
149
+ requirements:
150
+ - - ">="
151
+ - !ruby/object:Gem::Version
152
+ version: 2.4.2
153
+ description: ''
154
+ email:
117
155
  - emmanicolau@gmail.com
118
156
  executables: []
119
-
120
157
  extensions: []
121
-
122
158
  extra_rdoc_files: []
123
-
124
- files:
125
- - .autotest
126
- - .gitignore
127
- - .rspec
128
- - .rvmrc
159
+ files:
160
+ - ".autotest"
161
+ - ".gitignore"
162
+ - ".rspec"
163
+ - ".ruby-version"
129
164
  - Gemfile
130
165
  - Gemfile.lock
166
+ - Guardfile
131
167
  - README.rdoc
132
168
  - Rakefile
133
169
  - afipws.gemspec
@@ -180,41 +216,30 @@ files:
180
216
  - spec/manual/test.rb
181
217
  - spec/spec_helper.rb
182
218
  - spec/support/matchers.rb
183
- has_rdoc: true
184
- homepage: ""
219
+ homepage: ''
185
220
  licenses: []
186
-
221
+ metadata: {}
187
222
  post_install_message:
188
223
  rdoc_options: []
189
-
190
- require_paths:
224
+ require_paths:
191
225
  - lib
192
- required_ruby_version: !ruby/object:Gem::Requirement
193
- none: false
194
- requirements:
226
+ required_ruby_version: !ruby/object:Gem::Requirement
227
+ requirements:
195
228
  - - ">="
196
- - !ruby/object:Gem::Version
197
- hash: -3816397799162384907
198
- segments:
199
- - 0
200
- version: "0"
201
- required_rubygems_version: !ruby/object:Gem::Requirement
202
- none: false
203
- requirements:
229
+ - !ruby/object:Gem::Version
230
+ version: '0'
231
+ required_rubygems_version: !ruby/object:Gem::Requirement
232
+ requirements:
204
233
  - - ">="
205
- - !ruby/object:Gem::Version
206
- hash: -3816397799162384907
207
- segments:
208
- - 0
209
- version: "0"
234
+ - !ruby/object:Gem::Version
235
+ version: '0'
210
236
  requirements: []
211
-
212
237
  rubyforge_project: afipws
213
- rubygems_version: 1.5.0
238
+ rubygems_version: 2.6.6
214
239
  signing_key:
215
- specification_version: 3
240
+ specification_version: 4
216
241
  summary: Ruby wrapper para los servicios web de la AFIP
217
- test_files:
242
+ test_files:
218
243
  - spec/afipws/core_ext/hash_spec.rb
219
244
  - spec/afipws/test.crt
220
245
  - spec/afipws/test.key
data/.rvmrc DELETED
@@ -1 +0,0 @@
1
- rvm 1.9.2