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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 685054930000a0c50003e85eb15930f277396515
4
- data.tar.gz: c9404781ed57df10ab76df0253667be07c5b48a6
3
+ metadata.gz: a1532603db6ff0406d0573c390d2f909e82987b5
4
+ data.tar.gz: f465a32044487fbf851422c6e27fe775dcdd5a8f
5
5
  SHA512:
6
- metadata.gz: fcbbf6dff12f23c01b3a1260ad97f2464637a9638702869f5cd1f5ec74d5543d3a9ac58fae488e0c1b3f835515a03efbbff856bfe95e0a86a636391cf2f39bb4
7
- data.tar.gz: f14e2527c9795e435b3d3d0628f46f2dda34dca3849819e5edb2695fb232b5f627dfd41f4d7764f479063dcfbfd099461ca1e85bec46e8168d13f12701c7a03c
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
@@ -62,7 +62,7 @@ module ClearSaleClearId
62
62
  end
63
63
  end
64
64
  end
65
- end
65
+ end
66
66
 
67
67
  def build_payment_info(order_node)
68
68
  order_node.tag!('DadosCobranca') do |payment_info|
@@ -3,6 +3,12 @@ module ClearSaleClearId
3
3
  :type, :ddi, :ddd, :number, :branch
4
4
  )
5
5
 
6
+ def initialize(params={})
7
+ params.keys.each do |member|
8
+ self.send("#{member}=", params.delete(member))
9
+ end
10
+ end
11
+
6
12
  def type=(value)
7
13
  validate_type(value)
8
14
 
@@ -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
- def initialize(xml = nil)
7
- clear_id = Nori.new.parse(xml)
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
- self.orders = build_orders(attributes['Pedidos'])
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' => order.to_xml
25
+ 'xmlDados' => request_body
24
26
  }
25
27
  )
28
+ response_body = response.body
26
29
 
27
30
  Response::PackageStatus.new(
28
- extract_response_xml('submit_info', response.body)
31
+ request_body,
32
+ extract_response_xml('submit_info', response_body)
29
33
  )
30
34
  end
31
35
 
@@ -1,3 +1,3 @@
1
1
  module ClearSaleClearId
2
- VERSION = '0.1.2.pre'
2
+ VERSION = '0.1.3.pre'
3
3
  end
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.2.pre
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-09-02 00:00:00.000000000 Z
11
+ date: 2016-10-10 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: equivalent-xml