clear_sale_clear_id 0.1.2.pre → 0.1.3.pre
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/clear_sale_clear_id/address.rb +6 -0
- data/lib/clear_sale_clear_id/order_xml.rb +1 -1
- data/lib/clear_sale_clear_id/phone.rb +6 -0
- data/lib/clear_sale_clear_id/response/package_status.rb +11 -5
- data/lib/clear_sale_clear_id/server.rb +6 -2
- data/lib/clear_sale_clear_id/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: a1532603db6ff0406d0573c390d2f909e82987b5
|
4
|
+
data.tar.gz: f465a32044487fbf851422c6e27fe775dcdd5a8f
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 3afd45b20d66fd4649ea5197553c47f0752cb0e2463e2ec3ed281ee56d623d270ecfed53f4dcd737e9e48a90ef87fab3cf49b95945454cb9f38b166098280f43
|
7
|
+
data.tar.gz: bfddbb81c2ac2819355ac084203ee96033c681f2de4d22c622368606ef3ba397a764a813b2f89ea77c664772382364f7ea3af64e8741986fad6d51cc8bb157b0
|
@@ -2,5 +2,11 @@ module ClearSaleClearId
|
|
2
2
|
class Address < Struct.new(
|
3
3
|
:street, :street1, :number, :neighborhood, :city, :state, :zipcode, :country
|
4
4
|
)
|
5
|
+
|
6
|
+
def initialize(params={})
|
7
|
+
params.keys.each do |member|
|
8
|
+
self.send("#{member}=", params.delete(member))
|
9
|
+
end
|
10
|
+
end
|
5
11
|
end
|
6
12
|
end
|
@@ -2,21 +2,27 @@ module ClearSaleClearId
|
|
2
2
|
module Response
|
3
3
|
class PackageStatus
|
4
4
|
attr_accessor :transaction_id, :status_code, :message, :orders
|
5
|
+
attr_reader :request_body, :response_body
|
5
6
|
|
6
|
-
|
7
|
-
|
7
|
+
|
8
|
+
def initialize(request_body, response_body)
|
9
|
+
@response_body = response_body
|
10
|
+
@request_body = request_body
|
11
|
+
|
12
|
+
clear_id = Nori.new.parse(response_body)
|
8
13
|
attributes = clear_id['ClearID']['PackageStatus']
|
9
14
|
|
15
|
+
self.status_code = attributes['StatusCode'].to_i
|
10
16
|
self.transaction_id = attributes['TransactionID']
|
11
|
-
self.status_code = attributes['StatusCode']
|
12
17
|
self.message = attributes['Message']
|
13
|
-
|
18
|
+
|
19
|
+
self.orders = build_orders(attributes.fetch('Pedidos', []))
|
14
20
|
end
|
15
21
|
|
16
22
|
private
|
17
23
|
|
18
24
|
def build_orders(orders_attributes)
|
19
|
-
orders_attributes.map do |order_attribute|
|
25
|
+
orders_attributes.map do |_, order_attribute|
|
20
26
|
Order.new(orders_attributes)
|
21
27
|
end
|
22
28
|
end
|
@@ -17,15 +17,19 @@ module ClearSaleClearId
|
|
17
17
|
end
|
18
18
|
|
19
19
|
def submit_info(order)
|
20
|
+
request_body = order.to_xml
|
21
|
+
|
20
22
|
response = savon_client.call(
|
21
23
|
:submit_info, message: {
|
22
24
|
'entityCode' => '4AFBF7B6-32B9-4527-A148-0F01BB72AB94',
|
23
|
-
'xmlDados' =>
|
25
|
+
'xmlDados' => request_body
|
24
26
|
}
|
25
27
|
)
|
28
|
+
response_body = response.body
|
26
29
|
|
27
30
|
Response::PackageStatus.new(
|
28
|
-
|
31
|
+
request_body,
|
32
|
+
extract_response_xml('submit_info', response_body)
|
29
33
|
)
|
30
34
|
end
|
31
35
|
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: clear_sale_clear_id
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.3.pre
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Rafael da Silva Almeida
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2016-
|
11
|
+
date: 2016-10-10 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: equivalent-xml
|