bravo 0.1.1 → 0.2.0
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.
- data/CHANGELOG +3 -0
- data/Rakefile +1 -1
- data/VERSION +1 -1
- data/bravo.gemspec +5 -3
- data/lib/bravo.rb +1 -0
- data/lib/bravo/bill.rb +17 -7
- data/lib/bravo/core_ext/hash.rb +23 -0
- data/lib/bravo/version.rb +1 -1
- data/spec/bravo/bill_spec.rb +9 -1
- metadata +8 -6
data/CHANGELOG
ADDED
data/Rakefile
CHANGED
@@ -13,7 +13,7 @@ require 'jeweler'
|
|
13
13
|
Jeweler::Tasks.new do |gem|
|
14
14
|
# gem is a Gem::Specification... see http://docs.rubygems.org/read/chapter/20 for more options
|
15
15
|
gem.name = "bravo"
|
16
|
-
gem.homepage = "http://github.com/
|
16
|
+
gem.homepage = "http://github.com/Vurbia/Bravo"
|
17
17
|
gem.license = "MIT"
|
18
18
|
gem.summary = "Adaptador AFIP wsfe."
|
19
19
|
gem.description = "Adaptador para el Web Service de Facturacion Electronica de AFIP"
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.
|
1
|
+
0.2.0
|
data/bravo.gemspec
CHANGED
@@ -5,11 +5,11 @@
|
|
5
5
|
|
6
6
|
Gem::Specification.new do |s|
|
7
7
|
s.name = %q{bravo}
|
8
|
-
s.version = "0.
|
8
|
+
s.version = "0.2.0"
|
9
9
|
|
10
10
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
11
11
|
s.authors = ["Leandro Marcucci"]
|
12
|
-
s.date = %q{2011-03-
|
12
|
+
s.date = %q{2011-03-04}
|
13
13
|
s.description = %q{Adaptador para el Web Service de Facturacion Electronica de AFIP}
|
14
14
|
s.email = %q{leanucci@vurbia.com}
|
15
15
|
s.extra_rdoc_files = [
|
@@ -18,6 +18,7 @@ Gem::Specification.new do |s|
|
|
18
18
|
]
|
19
19
|
s.files = [
|
20
20
|
".document",
|
21
|
+
"CHANGELOG",
|
21
22
|
"Gemfile",
|
22
23
|
"Gemfile.lock",
|
23
24
|
"LICENSE.txt",
|
@@ -32,6 +33,7 @@ Gem::Specification.new do |s|
|
|
32
33
|
"lib/bravo/bill.rb",
|
33
34
|
"lib/bravo/constants.rb",
|
34
35
|
"lib/bravo/core_ext/float.rb",
|
36
|
+
"lib/bravo/core_ext/hash.rb",
|
35
37
|
"lib/bravo/version.rb",
|
36
38
|
"spec/bravo/auth_data_spec.rb",
|
37
39
|
"spec/bravo/authorizer_spec.rb",
|
@@ -39,7 +41,7 @@ Gem::Specification.new do |s|
|
|
39
41
|
"spec/spec_helper.rb",
|
40
42
|
"wsaa-client.sh"
|
41
43
|
]
|
42
|
-
s.homepage = %q{http://github.com/
|
44
|
+
s.homepage = %q{http://github.com/Vurbia/Bravo}
|
43
45
|
s.licenses = ["MIT"]
|
44
46
|
s.require_paths = ["lib"]
|
45
47
|
s.rubygems_version = %q{1.6.0}
|
data/lib/bravo.rb
CHANGED
data/lib/bravo/bill.rb
CHANGED
@@ -46,9 +46,7 @@ module Bravo
|
|
46
46
|
soap.body = body
|
47
47
|
end
|
48
48
|
|
49
|
-
response
|
50
|
-
|
51
|
-
setup_response(response)
|
49
|
+
setup_response(response.to_hash)
|
52
50
|
self.authorized?
|
53
51
|
end
|
54
52
|
|
@@ -112,11 +110,23 @@ module Bravo
|
|
112
110
|
end
|
113
111
|
|
114
112
|
def setup_response(response)
|
115
|
-
|
116
|
-
|
113
|
+
header_response = response[:fecae_solicitar_response][:fecae_solicitar_result][:fe_cab_resp].symbolize_keys
|
114
|
+
detail_response = response[:fecae_solicitar_response][:fecae_solicitar_result][:fe_det_resp][:fecae_det_response].symbolize_keys
|
115
|
+
|
116
|
+
iva = self.body["FeCAEReq"]["FeDetReq"]["FECAEDetRequest"]["Iva"]["AlicIva"].underscore_keys!
|
117
|
+
|
118
|
+
detail_response.merge!(iva.symbolize_keys!)
|
119
|
+
|
120
|
+
response_hash = {:header_result => header_response.delete(:resultado),
|
121
|
+
:detail_result => detail_response.delete(:resultado),
|
122
|
+
:cae_due_date => detail_response.delete(:cae_fch_vto),
|
123
|
+
:authorized_on => header_response.delete(:fch_proceso),
|
124
|
+
:iva_id => detail_response.delete(:id),
|
125
|
+
:iva_importe => detail_response.delete(:importe)
|
126
|
+
}.merge!(header_response).merge!(detail_response)
|
117
127
|
|
118
|
-
|
119
|
-
self.response =
|
128
|
+
keys, values = response_hash.to_a.transpose
|
129
|
+
self.response = Struct.new("Response", *keys).new(*values)
|
120
130
|
end
|
121
131
|
end
|
122
132
|
end
|
@@ -0,0 +1,23 @@
|
|
1
|
+
class Hash
|
2
|
+
def symbolize_keys!
|
3
|
+
keys.each do |key|
|
4
|
+
self[(key.to_sym rescue key) || key] = delete(key)
|
5
|
+
end
|
6
|
+
self
|
7
|
+
end
|
8
|
+
|
9
|
+
def symbolize_keys
|
10
|
+
dup.symbolize_keys!
|
11
|
+
end
|
12
|
+
|
13
|
+
def underscore_keys!
|
14
|
+
keys.each do |key|
|
15
|
+
self[(key.downcase rescue key) || key] = delete(key)
|
16
|
+
end
|
17
|
+
self
|
18
|
+
end
|
19
|
+
|
20
|
+
def underscore_keys
|
21
|
+
dup.underscore_keys!
|
22
|
+
end
|
23
|
+
end
|
data/lib/bravo/version.rb
CHANGED
data/spec/bravo/bill_spec.rb
CHANGED
@@ -96,7 +96,15 @@ describe "Bill" do
|
|
96
96
|
@bill.authorize.should == true
|
97
97
|
|
98
98
|
@bill.authorized?.should == true
|
99
|
-
|
99
|
+
|
100
|
+
response = @bill.response
|
101
|
+
|
102
|
+
response.cae.length.should == 14
|
103
|
+
|
104
|
+
pp response
|
105
|
+
|
106
|
+
response.length.should == 19
|
107
|
+
|
100
108
|
end
|
101
109
|
end
|
102
110
|
end
|
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: bravo
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
4
|
+
hash: 23
|
5
5
|
prerelease:
|
6
6
|
segments:
|
7
7
|
- 0
|
8
|
-
-
|
9
|
-
-
|
10
|
-
version: 0.
|
8
|
+
- 2
|
9
|
+
- 0
|
10
|
+
version: 0.2.0
|
11
11
|
platform: ruby
|
12
12
|
authors:
|
13
13
|
- Leandro Marcucci
|
@@ -15,7 +15,7 @@ autorequire:
|
|
15
15
|
bindir: bin
|
16
16
|
cert_chain: []
|
17
17
|
|
18
|
-
date: 2011-03-
|
18
|
+
date: 2011-03-04 00:00:00 -03:00
|
19
19
|
default_executable:
|
20
20
|
dependencies:
|
21
21
|
- !ruby/object:Gem::Dependency
|
@@ -153,6 +153,7 @@ extra_rdoc_files:
|
|
153
153
|
- README.textile
|
154
154
|
files:
|
155
155
|
- .document
|
156
|
+
- CHANGELOG
|
156
157
|
- Gemfile
|
157
158
|
- Gemfile.lock
|
158
159
|
- LICENSE.txt
|
@@ -167,6 +168,7 @@ files:
|
|
167
168
|
- lib/bravo/bill.rb
|
168
169
|
- lib/bravo/constants.rb
|
169
170
|
- lib/bravo/core_ext/float.rb
|
171
|
+
- lib/bravo/core_ext/hash.rb
|
170
172
|
- lib/bravo/version.rb
|
171
173
|
- spec/bravo/auth_data_spec.rb
|
172
174
|
- spec/bravo/authorizer_spec.rb
|
@@ -174,7 +176,7 @@ files:
|
|
174
176
|
- spec/spec_helper.rb
|
175
177
|
- wsaa-client.sh
|
176
178
|
has_rdoc: true
|
177
|
-
homepage: http://github.com/
|
179
|
+
homepage: http://github.com/Vurbia/Bravo
|
178
180
|
licenses:
|
179
181
|
- MIT
|
180
182
|
post_install_message:
|