bravo 0.4.0 → 1.0.0.alpha

Sign up to get free protection for your applications and to get access to all the features.
@@ -1,106 +1,124 @@
1
- require File.expand_path(File.dirname(__FILE__) + '/../spec_helper')
1
+ # encoding: utf-8
2
+ require 'spec_helper'
2
3
 
3
4
  describe "Bill" do
4
- it "should setup a header hash" do
5
- @header = Bravo::Bill.header(0)
6
- @header.size.should == 3
7
- ["CantReg", "CbteTipo", "PtoVta"].each do |key|
8
- @header.has_key?(key).should == true
5
+ let(:bill) { @bill = Bravo::Bill.new }
6
+
7
+ describe ".header" do
8
+ it "sets up the header hash" do
9
+ @header = Bravo::Bill.header(0)
10
+ @header.size.should == 3
11
+ ["CantReg", "CbteTipo", "PtoVta"].each do |key|
12
+ @header.has_key?(key).should == true
13
+ end
9
14
  end
10
15
  end
11
16
 
12
- describe "instance" do
13
- before(:each) {@bill = Bravo::Bill.new}
17
+ describe ".initialize" do
18
+ it "applies Bravo's defaults" do
19
+ bill.client.class.name.should == "Savon::Client"
14
20
 
15
- it "should initialize according to Bravo defaults" do
16
- @bill.client.class.name.should == "Savon::Client"
17
21
  ["Token", "Sign", "Cuit"].each do |key|
18
- @bill.body["Auth"][key].should_not == nil
22
+ bill.body["Auth"][key].should_not == nil
19
23
  end
20
- @bill.documento.should == Bravo.default_documento
21
- @bill.moneda.should == Bravo.default_moneda
22
- end
23
24
 
24
- it "should calculate it's cbte_tipo for Responsable Inscripto" do
25
- @bill.iva_cond = :responsable_inscripto
26
- @bill.cbte_type.should == "01"
25
+ bill.documento.should == Bravo.default_documento
26
+ bill.moneda.should == Bravo.default_moneda
27
27
  end
28
+ end
28
29
 
29
- it "should calculate it's cbte_tipo for Consumidor Final" do
30
- @bill.iva_cond = :consumidor_final
31
- @bill.cbte_type.should == "06"
32
- end
30
+ describe "#cbte_type" do
31
+ before { bill.invoice_type = :invoice }
32
+ it "returns the bill type for Responsable Inscripto" do
33
+ bill.iva_cond = :responsable_inscripto
33
34
 
34
- it "raise error on nil iva cond" do
35
- @bill.iva_cond = 12
36
- expect{@bill.cbte_type}.to raise_error(Bravo::NullOrInvalidAttribute)
35
+ bill.cbte_type.should == "01"
37
36
  end
38
37
 
39
- it "should fetch non Peso currency's exchange rate" do
40
- @bill.moneda = :dolar
41
- @bill.exchange_rate.to_i.should be > 0
38
+ it "returns the bill type for Consumidor Final" do
39
+ bill.iva_cond = :consumidor_final
40
+
41
+ bill.cbte_type.should == "06"
42
42
  end
43
43
 
44
- it "should return 1 for Peso currency" do
45
- @bill.moneda = :peso
46
- @bill.exchange_rate.should == 1
44
+ it "raises error on nil or invalid iva cond" do
45
+ bill.iva_cond = 12
46
+
47
+ expect { bill.cbte_type }.to raise_error(Bravo::NullOrInvalidAttribute)
47
48
  end
49
+ end
48
50
 
49
- it "should calculate the IVA array values" do
50
- @bill.iva_cond = :responsable_inscripto
51
- @bill.moneda = :peso
52
- @bill.net = 100.89
53
- @bill.aliciva_id = 2
51
+ describe "#iva_sum and #total" do
52
+ it "calculate the IVA array values" do
53
+ bill.iva_cond = :responsable_inscripto
54
+ bill.moneda = :peso
55
+ bill.net = 100.89
56
+ bill.aliciva_id = 2
54
57
 
55
- @bill.iva_sum.should be_within(0.05).of(21.18)
56
- @bill.total.should be_within(0.05).of(122.07)
58
+ bill.iva_sum.should be_within(0.05).of(21.18)
59
+ bill.total.should be_within(0.05).of(122.07)
57
60
  end
61
+ end
58
62
 
59
- it "should use give due date an service dates, or todays date" do
60
- @bill.net = 100
61
- @bill.aliciva_id = 2
62
- @bill.doc_num = "30710151543"
63
- @bill.iva_cond = :responsable_inscripto
64
- @bill.concepto = "Servicios"
63
+ describe "#setup_bill" do
64
+ before do
65
+ bill.net = 100
66
+ bill.aliciva_id = 2
67
+ bill.doc_num = "30710151543"
68
+ bill.iva_cond = :responsable_inscripto
69
+ bill.concepto = "Servicios"
70
+ end
65
71
 
66
- @bill.setup_bill
72
+ it "uses today dates when due and service dates are ommitted" do
73
+ bill.setup_bill
67
74
 
68
- detail = @bill.body["FeCAEReq"]["FeDetReq"]["FECAEDetRequest"]
75
+ detail = bill.body["FeCAEReq"]["FeDetReq"]["FECAEDetRequest"]
69
76
 
70
77
  detail["FchServDesde"].should == Time.new.strftime('%Y%m%d')
71
78
  detail["FchServHasta"].should == Time.new.strftime('%Y%m%d')
72
79
  detail["FchVtoPago"].should == Time.new.strftime('%Y%m%d')
80
+ end
73
81
 
74
- @bill.due_date = Date.new(2011, 12, 10).strftime('%Y%m%d')
75
- @bill.fch_serv_desde = Date.new(2011, 11, 01).strftime('%Y%m%d')
76
- @bill.fch_serv_hasta = Date.new(2011, 11, 30).strftime('%Y%m%d')
82
+ it "uses given due and service dates" do
83
+ bill.due_date = Date.new(2011, 12, 10).strftime('%Y%m%d')
84
+ bill.fch_serv_desde = Date.new(2011, 11, 01).strftime('%Y%m%d')
85
+ bill.fch_serv_hasta = Date.new(2011, 11, 30).strftime('%Y%m%d')
77
86
 
78
- @bill.setup_bill
87
+ bill.setup_bill
79
88
 
80
- detail = @bill.body["FeCAEReq"]["FeDetReq"]["FECAEDetRequest"]
89
+ detail = bill.body["FeCAEReq"]["FeDetReq"]["FECAEDetRequest"]
81
90
 
82
91
  detail["FchServDesde"].should == "20111101"
83
92
  detail["FchServHasta"].should == "20111130"
84
93
  detail["FchVtoPago"].should == "20111210"
85
94
  end
95
+ end
86
96
 
87
- Bravo::BILL_TYPE[Bravo.own_iva_cond].keys.each do |target_iva_cond|
88
- it "should authorize a valid bill for #{target_iva_cond.to_s}" do
89
- @bill.net = 1000000
90
- @bill.aliciva_id = 2
91
- @bill.doc_num = "30710151543"
92
- @bill.iva_cond = target_iva_cond
93
- @bill.concepto = "Servicios"
94
-
95
- @bill.authorized?.should == false
96
- @bill.authorize.should == true
97
- @bill.authorized?.should == true
98
-
99
- response = @bill.response
100
-
101
- response.length.should == 28
102
- response.cae.length.should == 14
97
+ describe "#authorize" do
98
+ describe "for facturas" do
99
+ Bravo::BILL_TYPE[Bravo.own_iva_cond].keys.each do |target_iva_cond|
100
+ describe "issued to #{ target_iva_cond.to_s }" do
101
+ Bravo::BILL_TYPE[Bravo.own_iva_cond][target_iva_cond].keys.each do |bill_type|
102
+ it "authorizes bill type #{ bill_type }" do
103
+ bill.net = 10000.00
104
+ bill.aliciva_id = 2
105
+ bill.doc_num = "30710151543"
106
+ bill.iva_cond = target_iva_cond
107
+ bill.concepto = "Servicios"
108
+ bill.invoice_type = bill_type
109
+
110
+ bill.authorized?.should == false
111
+ bill.authorize.should == true
112
+ bill.authorized?.should == true
113
+
114
+ response = bill.response
115
+
116
+ response.length.should == 28
117
+ response.cae.length.should == 14
118
+ end
119
+ end
120
+ end
103
121
  end
104
122
  end
105
123
  end
106
- end
124
+ end
@@ -0,0 +1,12 @@
1
+ # encoding: utf-8
2
+ require 'spec_helper'
3
+
4
+ describe "Reference" do
5
+ # context ".slip_types" do
6
+ # it "returns a hash of slip codes and description" do
7
+ # Bravo::Reference.slip_types.should be_true
8
+ # end
9
+ #
10
+ #
11
+ # end
12
+ end
@@ -0,0 +1,43 @@
1
+ require 'spec_helper'
2
+
3
+ describe "Wssa" do
4
+ before do
5
+ @stub_now = Time.now
6
+ Time.stub(:now).and_return(@stub_now)
7
+
8
+ @now = Time.now
9
+ Time.now.should == @now
10
+ from = @now.strftime("%FT%T%:z")
11
+ to = ((@now - 120) + (24*60*60)).strftime("%FT%T%:z")
12
+ id = @now.strftime("%s")
13
+ @tra = <<-EOF
14
+ <?xml version="1.0" encoding="UTF-8"?>
15
+ <loginTicketRequest version="1.0">
16
+ <header>
17
+ <uniqueId>#{ id }</uniqueId>
18
+ <generationTime>#{ from }</generationTime>
19
+ <expirationTime>#{ to }</expirationTime>
20
+ </header>
21
+ <service>wsfe</service>
22
+ </loginTicketRequest>
23
+ EOF
24
+ end
25
+
26
+ describe ".build_tra" do
27
+ it "sets the body for the ticket request" do
28
+ Bravo::Wsaa.build_tra.should == @tra
29
+ end
30
+ end
31
+
32
+ describe ".build_cms" do
33
+ it "returns the cms with the tra in it" do
34
+ pending "find a proper way to stub openssl"
35
+ end
36
+ end
37
+
38
+ describe ".login" do
39
+ it "should work" do
40
+ Bravo::Wsaa.login.should be_true
41
+ end
42
+ end
43
+ end
data/spec/spec_helper.rb CHANGED
@@ -1,23 +1,38 @@
1
1
  $:.unshift(File.join(File.dirname(__FILE__), '..', 'lib'))
2
2
  require 'bravo'
3
3
  require 'rspec'
4
- require 'ruby-debug'
5
4
 
6
- class SpecHelper
7
- include Savon::Logger
5
+ begin
6
+ require 'debugger'
7
+ rescue LoadError
8
8
  end
9
9
 
10
- # Requires supporting files with custom matchers and macros, etc,
11
- # in ./support/ and its subdirectories.
12
- Dir["#{File.dirname(__FILE__)}/support/**/*.rb"].each {|f| require f}
13
10
 
14
- Bravo.pkey = "spec/fixtures/pkey"
15
- Bravo.cert = "spec/fixtures/cert.crt"
16
- Bravo.cuit = ENV["CUIT"] || raise(Bravo::NullOrInvalidAttribute.new, "Please set CUIT env variable.")
17
- Bravo.sale_point = "0002"
18
- Bravo.auth_url = "https://wsaahomo.afip.gov.ar/ws/services/LoginCms"
19
- Bravo.service_url = "http://wswhomo.afip.gov.ar/wsfev1/service.asmx?WSDL"
20
- Bravo.default_concepto = "Productos y Servicios"
11
+ RSpec.configure do |config|
12
+ config.treat_symbols_as_metadata_keys_with_true_values = true
13
+ config.filter_run :focus => true
14
+ config.run_all_when_everything_filtered = true
15
+ end
16
+
17
+ Bravo.pkey = "spec/fixtures/certs/pkey"
18
+ Bravo.cert = "spec/fixtures/certs/cert.crt"
19
+ Bravo.cuit = ENV["CUIT"] || "20287740027"
20
+ Bravo.sale_point = ENV["SALE"] || "0002"
21
+ Bravo.default_concepto = "Productos y Servicios"
21
22
  Bravo.default_documento = "CUIT"
22
- Bravo.default_moneda = :peso
23
- Bravo.own_iva_cond = :responsable_inscripto
23
+ Bravo.default_moneda = :peso
24
+ Bravo.own_iva_cond = :responsable_inscripto
25
+ Bravo.verbose = "true"
26
+ Bravo.openssl_bin = "/usr/local/Cellar/openssl/1.0.1c/bin/openssl"
27
+ Bravo::AuthData.environment = :test
28
+
29
+ # TODO: refactor into actual validations
30
+ unless Bravo.cuit
31
+ raise(Bravo::NullOrInvalidAttribute.new, "Please set CUIT env variable.")
32
+ end
33
+
34
+ [Bravo.pkey, Bravo.cert].each do |file|
35
+ unless File.exists?("#{ file }")
36
+ raise(Bravo::MissingCertificate.new, "No existe #{ file }")
37
+ end
38
+ end
metadata CHANGED
@@ -1,217 +1,162 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: bravo
3
- version: !ruby/object:Gem::Version
4
- hash: 15
5
- prerelease:
6
- segments:
7
- - 0
8
- - 4
9
- - 0
10
- version: 0.4.0
3
+ version: !ruby/object:Gem::Version
4
+ version: 1.0.0.alpha
5
+ prerelease: 6
11
6
  platform: ruby
12
- authors:
7
+ authors:
13
8
  - Leandro Marcucci
14
9
  autorequire:
15
10
  bindir: bin
16
11
  cert_chain: []
17
-
18
- date: 2011-03-21 00:00:00 -03:00
19
- default_executable:
20
- dependencies:
21
- - !ruby/object:Gem::Dependency
12
+ date: 2011-03-14 00:00:00.000000000 Z
13
+ dependencies:
14
+ - !ruby/object:Gem::Dependency
22
15
  name: savon
23
- prerelease: false
24
- requirement: &id001 !ruby/object:Gem::Requirement
16
+ requirement: !ruby/object:Gem::Requirement
25
17
  none: false
26
- requirements:
18
+ requirements:
27
19
  - - ~>
28
- - !ruby/object:Gem::Version
29
- hash: 19
30
- segments:
31
- - 0
32
- - 7
33
- - 8
34
- version: 0.7.8
20
+ - !ruby/object:Gem::Version
21
+ version: 2.1.0
35
22
  type: :runtime
36
- version_requirements: *id001
37
- - !ruby/object:Gem::Dependency
38
- name: ruby-debug
39
23
  prerelease: false
40
- requirement: &id002 !ruby/object:Gem::Requirement
24
+ version_requirements: !ruby/object:Gem::Requirement
41
25
  none: false
42
- requirements:
43
- - - ">="
44
- - !ruby/object:Gem::Version
45
- hash: 3
46
- segments:
47
- - 0
48
- version: "0"
49
- type: :development
50
- version_requirements: *id002
51
- - !ruby/object:Gem::Dependency
52
- name: ruby-debug-base19
53
- prerelease: false
54
- requirement: &id003 !ruby/object:Gem::Requirement
26
+ requirements:
27
+ - - ~>
28
+ - !ruby/object:Gem::Version
29
+ version: 2.1.0
30
+ - !ruby/object:Gem::Dependency
31
+ name: thor
32
+ requirement: !ruby/object:Gem::Requirement
55
33
  none: false
56
- requirements:
57
- - - "="
58
- - !ruby/object:Gem::Version
59
- hash: 3
60
- segments:
61
- - 0
62
- - 11
63
- - 24
64
- version: 0.11.24
65
- type: :development
66
- version_requirements: *id003
67
- - !ruby/object:Gem::Dependency
68
- name: ruby-debug19
34
+ requirements:
35
+ - - ~>
36
+ - !ruby/object:Gem::Version
37
+ version: 0.16.0
38
+ type: :runtime
69
39
  prerelease: false
70
- requirement: &id004 !ruby/object:Gem::Requirement
40
+ version_requirements: !ruby/object:Gem::Requirement
71
41
  none: false
72
- requirements:
73
- - - "="
74
- - !ruby/object:Gem::Version
75
- hash: 63
76
- segments:
77
- - 0
78
- - 11
79
- - 6
80
- version: 0.11.6
81
- type: :development
82
- version_requirements: *id004
83
- - !ruby/object:Gem::Dependency
42
+ requirements:
43
+ - - ~>
44
+ - !ruby/object:Gem::Version
45
+ version: 0.16.0
46
+ - !ruby/object:Gem::Dependency
84
47
  name: rspec
85
- prerelease: false
86
- requirement: &id005 !ruby/object:Gem::Requirement
48
+ requirement: !ruby/object:Gem::Requirement
87
49
  none: false
88
- requirements:
50
+ requirements:
89
51
  - - ~>
90
- - !ruby/object:Gem::Version
91
- hash: 31
92
- segments:
93
- - 2
94
- - 4
95
- - 0
96
- version: 2.4.0
52
+ - !ruby/object:Gem::Version
53
+ version: 2.12.0
97
54
  type: :development
98
- version_requirements: *id005
99
- - !ruby/object:Gem::Dependency
100
- name: bundler
101
55
  prerelease: false
102
- requirement: &id006 !ruby/object:Gem::Requirement
56
+ version_requirements: !ruby/object:Gem::Requirement
57
+ none: false
58
+ requirements:
59
+ - - ~>
60
+ - !ruby/object:Gem::Version
61
+ version: 2.12.0
62
+ - !ruby/object:Gem::Dependency
63
+ name: rspec-mocks
64
+ requirement: !ruby/object:Gem::Requirement
103
65
  none: false
104
- requirements:
66
+ requirements:
105
67
  - - ~>
106
- - !ruby/object:Gem::Version
107
- hash: 23
108
- segments:
109
- - 1
110
- - 0
111
- - 0
112
- version: 1.0.0
68
+ - !ruby/object:Gem::Version
69
+ version: 2.12.1
113
70
  type: :development
114
- version_requirements: *id006
115
- - !ruby/object:Gem::Dependency
116
- name: jeweler
117
71
  prerelease: false
118
- requirement: &id007 !ruby/object:Gem::Requirement
72
+ version_requirements: !ruby/object:Gem::Requirement
73
+ none: false
74
+ requirements:
75
+ - - ~>
76
+ - !ruby/object:Gem::Version
77
+ version: 2.12.1
78
+ - !ruby/object:Gem::Dependency
79
+ name: rake
80
+ requirement: !ruby/object:Gem::Requirement
119
81
  none: false
120
- requirements:
82
+ requirements:
121
83
  - - ~>
122
- - !ruby/object:Gem::Version
123
- hash: 1
124
- segments:
125
- - 1
126
- - 5
127
- - 1
128
- version: 1.5.1
84
+ - !ruby/object:Gem::Version
85
+ version: 10.0.3
129
86
  type: :development
130
- version_requirements: *id007
131
- - !ruby/object:Gem::Dependency
132
- name: rcov
133
87
  prerelease: false
134
- requirement: &id008 !ruby/object:Gem::Requirement
88
+ version_requirements: !ruby/object:Gem::Requirement
135
89
  none: false
136
- requirements:
137
- - - ">="
138
- - !ruby/object:Gem::Version
139
- hash: 3
140
- segments:
141
- - 0
142
- version: "0"
143
- type: :development
144
- version_requirements: *id008
145
- description: Adaptador para el Web Service de Facturacion Electronica de AFIP
146
- email: leanucci@vurbia.com
147
- executables: []
148
-
90
+ requirements:
91
+ - - ~>
92
+ - !ruby/object:Gem::Version
93
+ version: 10.0.3
94
+ description: Adaptador para el Web Service de Facturacion Electrónica de AFIP
95
+ email:
96
+ - leanucci@gmail.com
97
+ executables:
98
+ - bravo
149
99
  extensions: []
150
-
151
- extra_rdoc_files:
152
- - LICENSE.txt
153
- - README.textile
154
- files:
100
+ extra_rdoc_files: []
101
+ files:
155
102
  - .document
103
+ - .gitignore
104
+ - .travis.yml
105
+ - .yardopts
156
106
  - CHANGELOG
157
107
  - Gemfile
158
- - Gemfile.lock
108
+ - Guardfile
159
109
  - LICENSE.txt
160
- - README.textile
110
+ - README.md
161
111
  - Rakefile
162
112
  - VERSION
163
113
  - autotest/discover.rb
114
+ - bin/bravo
164
115
  - bravo.gemspec
165
116
  - lib/bravo.rb
166
117
  - lib/bravo/auth_data.rb
167
- - lib/bravo/authorizer.rb
168
118
  - lib/bravo/bill.rb
169
119
  - lib/bravo/constants.rb
170
120
  - lib/bravo/core_ext/float.rb
171
121
  - lib/bravo/core_ext/hash.rb
172
122
  - lib/bravo/core_ext/string.rb
123
+ - lib/bravo/reference.rb
173
124
  - lib/bravo/version.rb
125
+ - lib/bravo/wsaa.rb
174
126
  - spec/bravo/auth_data_spec.rb
175
- - spec/bravo/authorizer_spec.rb
176
127
  - spec/bravo/bill_spec.rb
128
+ - spec/bravo/reference_spec.rb
129
+ - spec/bravo/wsaa_spec.rb
177
130
  - spec/spec_helper.rb
178
- - wsaa-client.sh
179
- has_rdoc: true
180
- homepage: http://github.com/Vurbia/Bravo
181
- licenses:
182
- - MIT
131
+ homepage: http://github.com/leanucci/bravo
132
+ licenses: []
183
133
  post_install_message:
184
134
  rdoc_options: []
185
-
186
- require_paths:
135
+ require_paths:
187
136
  - lib
188
- required_ruby_version: !ruby/object:Gem::Requirement
137
+ - bin
138
+ required_ruby_version: !ruby/object:Gem::Requirement
189
139
  none: false
190
- requirements:
191
- - - ">="
192
- - !ruby/object:Gem::Version
193
- hash: 3
194
- segments:
195
- - 0
196
- version: "0"
197
- required_rubygems_version: !ruby/object:Gem::Requirement
140
+ requirements:
141
+ - - ! '>='
142
+ - !ruby/object:Gem::Version
143
+ version: '0'
144
+ required_rubygems_version: !ruby/object:Gem::Requirement
198
145
  none: false
199
- requirements:
200
- - - ">="
201
- - !ruby/object:Gem::Version
202
- hash: 3
203
- segments:
204
- - 0
205
- version: "0"
146
+ requirements:
147
+ - - ! '>'
148
+ - !ruby/object:Gem::Version
149
+ version: 1.3.1
206
150
  requirements: []
207
-
208
151
  rubyforge_project:
209
- rubygems_version: 1.6.2
152
+ rubygems_version: 1.8.23
210
153
  signing_key:
211
154
  specification_version: 3
212
- summary: Adaptador AFIP wsfe.
213
- test_files:
155
+ summary: Adaptador WSFE
156
+ test_files:
214
157
  - spec/bravo/auth_data_spec.rb
215
- - spec/bravo/authorizer_spec.rb
216
158
  - spec/bravo/bill_spec.rb
159
+ - spec/bravo/reference_spec.rb
160
+ - spec/bravo/wsaa_spec.rb
217
161
  - spec/spec_helper.rb
162
+ has_rdoc:
data/Gemfile.lock DELETED
@@ -1,57 +0,0 @@
1
- GEM
2
- remote: http://rubygems.org/
3
- specs:
4
- archive-tar-minitar (0.5.2)
5
- builder (3.0.0)
6
- columnize (0.3.2)
7
- crack (0.1.8)
8
- diff-lcs (1.1.2)
9
- git (1.2.5)
10
- jeweler (1.5.2)
11
- bundler (~> 1.0.0)
12
- git (>= 1.2.5)
13
- rake
14
- linecache (0.43)
15
- linecache19 (0.5.11)
16
- ruby_core_source (>= 0.1.4)
17
- rake (0.8.7)
18
- rcov (0.9.9)
19
- rspec (2.4.0)
20
- rspec-core (~> 2.4.0)
21
- rspec-expectations (~> 2.4.0)
22
- rspec-mocks (~> 2.4.0)
23
- rspec-core (2.4.0)
24
- rspec-expectations (2.4.0)
25
- diff-lcs (~> 1.1.2)
26
- rspec-mocks (2.4.0)
27
- ruby-debug (0.10.4)
28
- columnize (>= 0.1)
29
- ruby-debug-base (~> 0.10.4.0)
30
- ruby-debug-base (0.10.4)
31
- linecache (>= 0.3)
32
- ruby-debug-base19 (0.11.24)
33
- columnize (>= 0.3.1)
34
- linecache19 (>= 0.5.11)
35
- ruby_core_source (>= 0.1.4)
36
- ruby-debug19 (0.11.6)
37
- columnize (>= 0.3.1)
38
- linecache19 (>= 0.5.11)
39
- ruby-debug-base19 (>= 0.11.19)
40
- ruby_core_source (0.1.4)
41
- archive-tar-minitar (>= 0.5.2)
42
- savon (0.7.9)
43
- builder (>= 2.1.2)
44
- crack (>= 0.1.4)
45
-
46
- PLATFORMS
47
- ruby
48
-
49
- DEPENDENCIES
50
- bundler (~> 1.0.0)
51
- jeweler (~> 1.5.1)
52
- rcov
53
- rspec (~> 2.4.0)
54
- ruby-debug
55
- ruby-debug-base19 (= 0.11.24)
56
- ruby-debug19 (= 0.11.6)
57
- savon (~> 0.7.8)