tray-checkout 0.4.3 → 0.4.4

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.
@@ -1,3 +1,7 @@
1
+ == Version 0.4.4
2
+ - Parse general errors.
3
+ - Using ActiveSupport >= 3.1 version.
4
+
1
5
  == Version 0.4.3
2
6
  - "url_img" parameter is in "product", not in "transaction".
3
7
 
@@ -7,7 +7,8 @@ class Tray::Checkout::ResponseParser
7
7
  end
8
8
 
9
9
  def self.get_parser(xml)
10
- Tray::Checkout::ResponseParser.transaction?(xml) ?
10
+ #TODO: Remove this POG, please!
11
+ Tray::Checkout::ResponseParser.transaction?(xml) ?
11
12
  Tray::Checkout::TransactionResponseParser.new(xml) :
12
13
  Tray::Checkout::AccountResponseParser.new(xml)
13
14
  end
@@ -65,6 +66,10 @@ class Tray::Checkout::ResponseParser
65
66
  error_response[:errors] = error_response.delete(:validation_errors)
66
67
  end
67
68
 
69
+ if error_response[:general_errors]
70
+ error_response[:errors] = error_response.delete(:general_errors)
71
+ end
72
+
68
73
  error_response[:errors]
69
74
  end
70
75
  end
@@ -1,7 +1,7 @@
1
1
  # encoding: UTF-8
2
2
  module Tray
3
3
  module Checkout
4
- VERSION = "0.4.3"
4
+ VERSION = '0.4.4'
5
5
  end
6
6
  end
7
7
 
@@ -14,6 +14,7 @@ def body_for(response)
14
14
  :create_success_boleto,
15
15
  :create_success_mastercard,
16
16
  :create_failure_validation_errors,
17
+ :create_failure_general_errors,
17
18
  :create_temp_transaction_with_token,
18
19
  :get_account_info
19
20
  read_file_for(response)
@@ -0,0 +1,14 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <tmp_transaction>
3
+ <message_response>
4
+ <message>error</message>
5
+ </message_response>
6
+ <error_response>
7
+ <general_errors type="array">
8
+ <general_error>
9
+ <code>058001</code>
10
+ <message>Revendedor inválido.</message>
11
+ </general_error>
12
+ </general_errors>
13
+ </error_response>
14
+ </tmp_transaction>
@@ -23,7 +23,7 @@ describe Tray::Checkout::Account do
23
23
  end
24
24
 
25
25
  it 'response returns true' do
26
- @response.success?.should be_true
26
+ @response.success?.should be true
27
27
  end
28
28
 
29
29
  it 'response has name attribute' do
@@ -43,7 +43,7 @@ describe Tray::Checkout::Account do
43
43
  end
44
44
 
45
45
  it 'response returns false' do
46
- @response.success?.should be_false
46
+ @response.success?.should be false
47
47
  end
48
48
  end
49
49
  end
@@ -9,7 +9,7 @@ describe Tray::Checkout::ResponseParser do
9
9
  let(:response) { parser.parse }
10
10
 
11
11
  it "returns success" do
12
- response.success?.should be_true
12
+ response.success?.should be true
13
13
  end
14
14
  end
15
15
 
@@ -19,7 +19,7 @@ describe Tray::Checkout::ResponseParser do
19
19
  let(:response) { parser.parse }
20
20
 
21
21
  it "does not return success" do
22
- response.success?.should be_false
22
+ response.success?.should be false
23
23
  end
24
24
 
25
25
  context "returns error" do
@@ -39,7 +39,7 @@ describe Tray::Checkout::ResponseParser do
39
39
  let(:response) { parser.parse }
40
40
 
41
41
  it "does not return success" do
42
- response.success?.should be_false
42
+ response.success?.should be false
43
43
  end
44
44
 
45
45
  context "returns error" do
@@ -52,6 +52,26 @@ describe Tray::Checkout::ResponseParser do
52
52
  end
53
53
  end
54
54
  end
55
+
56
+ context "with general error response" do
57
+ let(:xml) { body_for :create_failure_general_errors }
58
+ let(:parser) { Tray::Checkout::ResponseParser.new(xml) }
59
+ let(:response) { parser.parse }
60
+
61
+ it "does not return success" do
62
+ response.success?.should be false
63
+ end
64
+
65
+ context "returns error" do
66
+ { code: "058001",
67
+ message: "Revendedor inválido."
68
+ }.each do |param, value|
69
+ it param do
70
+ response.errors.first[param].should == value
71
+ end
72
+ end
73
+ end
74
+ end
55
75
  end
56
76
 
57
77
  describe("transaction?") do
@@ -59,7 +79,7 @@ describe Tray::Checkout::ResponseParser do
59
79
  let(:xml) { body_for :get_success_boleto }
60
80
 
61
81
  it "returns true" do
62
- Tray::Checkout::ResponseParser.transaction?(xml).should be_true
82
+ Tray::Checkout::ResponseParser.transaction?(xml).should be true
63
83
  end
64
84
  end
65
85
 
@@ -67,7 +87,7 @@ describe Tray::Checkout::ResponseParser do
67
87
  let(:xml) { body_for :get_account_info }
68
88
 
69
89
  it "returns false" do
70
- Tray::Checkout::ResponseParser.transaction?(xml).should be_false
90
+ Tray::Checkout::ResponseParser.transaction?(xml).should be false
71
91
  end
72
92
  end
73
93
  end
@@ -6,7 +6,7 @@ describe Tray::Checkout::Response do
6
6
 
7
7
  describe ".new" do
8
8
  it "sets success to false" do
9
- response.success?.should be_false
9
+ response.success?.should be false
10
10
  end
11
11
 
12
12
  it "sets errors to empty" do
@@ -9,7 +9,7 @@ describe Tray::Checkout::TransactionResponseParser do
9
9
  let(:response) { parser.parse }
10
10
 
11
11
  it "returns success" do
12
- response.success?.should be_true
12
+ response.success?.should be true
13
13
  end
14
14
 
15
15
  context "returns transaction" do
@@ -56,7 +56,7 @@ describe Tray::Checkout::TransactionResponseParser do
56
56
  let(:response) { parser.parse }
57
57
 
58
58
  it "returns success" do
59
- response.success?.should be_true
59
+ response.success?.should be true
60
60
  end
61
61
 
62
62
  it "returns empty errors" do
@@ -92,7 +92,7 @@ describe Tray::Checkout::Transaction do
92
92
  end
93
93
 
94
94
  it "returns success" do
95
- @response.success?.should be_true
95
+ @response.success?.should be true
96
96
  end
97
97
 
98
98
  it "returns the transaction with only one parameter" do
@@ -108,7 +108,7 @@ describe Tray::Checkout::Transaction do
108
108
  end
109
109
 
110
110
  it "returns success" do
111
- @response.success?.should be_true
111
+ @response.success?.should be true
112
112
  end
113
113
 
114
114
  it "returns transaction data" do
@@ -134,7 +134,7 @@ describe Tray::Checkout::Transaction do
134
134
  end
135
135
 
136
136
  it "does not return success" do
137
- @response.success?.should be_false
137
+ @response.success?.should be false
138
138
  end
139
139
 
140
140
  it "returns errors" do
@@ -156,7 +156,7 @@ describe Tray::Checkout::Transaction do
156
156
  end
157
157
 
158
158
  it "returns success" do
159
- @response.success?.should be_true
159
+ @response.success?.should be true
160
160
  end
161
161
 
162
162
  it "returns transaction data" do
@@ -182,7 +182,7 @@ describe Tray::Checkout::Transaction do
182
182
  end
183
183
 
184
184
  it "returns success" do
185
- @response.success?.should be_true
185
+ @response.success?.should be true
186
186
  end
187
187
 
188
188
  it "returns transaction data" do
@@ -210,7 +210,7 @@ describe Tray::Checkout::Transaction do
210
210
  end
211
211
 
212
212
  it "does not return success" do
213
- @response.success?.should be_false
213
+ @response.success?.should be false
214
214
  end
215
215
 
216
216
  it "returns error" do
@@ -6,14 +6,14 @@ describe URI do
6
6
  context "when is SSL" do
7
7
  it "returns true" do
8
8
  uri = URI.parse("https://prodis.webstorelw.com.br")
9
- uri.ssl?.should be_true
9
+ uri.ssl?.should be true
10
10
  end
11
11
  end
12
12
 
13
13
  context "when is not SSL" do
14
14
  it "returns false" do
15
15
  uri = URI.parse("http://prodis.blog.br")
16
- uri.ssl?.should be_false
16
+ uri.ssl?.should be false
17
17
  end
18
18
  end
19
19
  end
@@ -5,7 +5,7 @@ require 'tray/checkout/version'
5
5
  Gem::Specification.new do |gem|
6
6
  gem.name = "tray-checkout"
7
7
  gem.version = Tray::Checkout::VERSION
8
- gem.authors = ["Prodis a.k.a. Fernando Hamasaki"]
8
+ gem.authors = ["Prodis a.k.a. Fernando Hamasaki de Amorim"]
9
9
  gem.email = ["prodis@gmail.com"]
10
10
  gem.summary = "Tray Checkout API"
11
11
  gem.description = "Tray Checkout API"
@@ -20,12 +20,12 @@ Gem::Specification.new do |gem|
20
20
  gem.platform = Gem::Platform::RUBY
21
21
  gem.required_ruby_version = Gem::Requirement.new(">= 1.9.2")
22
22
 
23
- gem.add_dependency "activesupport", "~> 3.1"
23
+ gem.add_dependency "activesupport", ">= 3.1"
24
24
  gem.add_dependency "log-me", '0.0.9'
25
25
 
26
26
  gem.add_development_dependency "pry"
27
27
  gem.add_development_dependency "rake"
28
- gem.add_development_dependency "rspec", "~> 2.12"
28
+ gem.add_development_dependency "rspec", "~> 2.12"
29
29
  gem.add_development_dependency "webmock", "~> 1.9"
30
30
  gem.add_development_dependency "vcr", "~> 2.6.0"
31
31
  end
metadata CHANGED
@@ -1,32 +1,36 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: tray-checkout
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.4.3
4
+ version: 0.4.4
5
+ prerelease:
5
6
  platform: ruby
6
7
  authors:
7
- - Prodis a.k.a. Fernando Hamasaki
8
+ - Prodis a.k.a. Fernando Hamasaki de Amorim
8
9
  autorequire:
9
10
  bindir: bin
10
11
  cert_chain: []
11
- date: 2015-01-09 00:00:00.000000000 Z
12
+ date: 2015-06-30 00:00:00.000000000 Z
12
13
  dependencies:
13
14
  - !ruby/object:Gem::Dependency
14
15
  name: activesupport
15
16
  requirement: !ruby/object:Gem::Requirement
17
+ none: false
16
18
  requirements:
17
- - - ~>
19
+ - - ! '>='
18
20
  - !ruby/object:Gem::Version
19
21
  version: '3.1'
20
22
  type: :runtime
21
23
  prerelease: false
22
24
  version_requirements: !ruby/object:Gem::Requirement
25
+ none: false
23
26
  requirements:
24
- - - ~>
27
+ - - ! '>='
25
28
  - !ruby/object:Gem::Version
26
29
  version: '3.1'
27
30
  - !ruby/object:Gem::Dependency
28
31
  name: log-me
29
32
  requirement: !ruby/object:Gem::Requirement
33
+ none: false
30
34
  requirements:
31
35
  - - '='
32
36
  - !ruby/object:Gem::Version
@@ -34,6 +38,7 @@ dependencies:
34
38
  type: :runtime
35
39
  prerelease: false
36
40
  version_requirements: !ruby/object:Gem::Requirement
41
+ none: false
37
42
  requirements:
38
43
  - - '='
39
44
  - !ruby/object:Gem::Version
@@ -41,6 +46,7 @@ dependencies:
41
46
  - !ruby/object:Gem::Dependency
42
47
  name: pry
43
48
  requirement: !ruby/object:Gem::Requirement
49
+ none: false
44
50
  requirements:
45
51
  - - ! '>='
46
52
  - !ruby/object:Gem::Version
@@ -48,6 +54,7 @@ dependencies:
48
54
  type: :development
49
55
  prerelease: false
50
56
  version_requirements: !ruby/object:Gem::Requirement
57
+ none: false
51
58
  requirements:
52
59
  - - ! '>='
53
60
  - !ruby/object:Gem::Version
@@ -55,6 +62,7 @@ dependencies:
55
62
  - !ruby/object:Gem::Dependency
56
63
  name: rake
57
64
  requirement: !ruby/object:Gem::Requirement
65
+ none: false
58
66
  requirements:
59
67
  - - ! '>='
60
68
  - !ruby/object:Gem::Version
@@ -62,6 +70,7 @@ dependencies:
62
70
  type: :development
63
71
  prerelease: false
64
72
  version_requirements: !ruby/object:Gem::Requirement
73
+ none: false
65
74
  requirements:
66
75
  - - ! '>='
67
76
  - !ruby/object:Gem::Version
@@ -69,6 +78,7 @@ dependencies:
69
78
  - !ruby/object:Gem::Dependency
70
79
  name: rspec
71
80
  requirement: !ruby/object:Gem::Requirement
81
+ none: false
72
82
  requirements:
73
83
  - - ~>
74
84
  - !ruby/object:Gem::Version
@@ -76,6 +86,7 @@ dependencies:
76
86
  type: :development
77
87
  prerelease: false
78
88
  version_requirements: !ruby/object:Gem::Requirement
89
+ none: false
79
90
  requirements:
80
91
  - - ~>
81
92
  - !ruby/object:Gem::Version
@@ -83,6 +94,7 @@ dependencies:
83
94
  - !ruby/object:Gem::Dependency
84
95
  name: webmock
85
96
  requirement: !ruby/object:Gem::Requirement
97
+ none: false
86
98
  requirements:
87
99
  - - ~>
88
100
  - !ruby/object:Gem::Version
@@ -90,6 +102,7 @@ dependencies:
90
102
  type: :development
91
103
  prerelease: false
92
104
  version_requirements: !ruby/object:Gem::Requirement
105
+ none: false
93
106
  requirements:
94
107
  - - ~>
95
108
  - !ruby/object:Gem::Version
@@ -97,6 +110,7 @@ dependencies:
97
110
  - !ruby/object:Gem::Dependency
98
111
  name: vcr
99
112
  requirement: !ruby/object:Gem::Requirement
113
+ none: false
100
114
  requirements:
101
115
  - - ~>
102
116
  - !ruby/object:Gem::Version
@@ -104,6 +118,7 @@ dependencies:
104
118
  type: :development
105
119
  prerelease: false
106
120
  version_requirements: !ruby/object:Gem::Requirement
121
+ none: false
107
122
  requirements:
108
123
  - - ~>
109
124
  - !ruby/object:Gem::Version
@@ -141,6 +156,7 @@ files:
141
156
  - lib/tray/checkout/web_service.rb
142
157
  - spec/spec_helper.rb
143
158
  - spec/support/mock_request.rb
159
+ - spec/support/responses/create_failure_general_errors.xml
144
160
  - spec/support/responses/create_failure_validation_errors.xml
145
161
  - spec/support/responses/create_success_boleto.xml
146
162
  - spec/support/responses/create_success_mastercard.xml
@@ -177,30 +193,35 @@ files:
177
193
  homepage: https://github.com/prodis/tray-checkout
178
194
  licenses:
179
195
  - MIT
180
- metadata: {}
181
196
  post_install_message:
182
197
  rdoc_options: []
183
198
  require_paths:
184
199
  - lib
185
200
  required_ruby_version: !ruby/object:Gem::Requirement
201
+ none: false
186
202
  requirements:
187
203
  - - ! '>='
188
204
  - !ruby/object:Gem::Version
189
205
  version: 1.9.2
190
206
  required_rubygems_version: !ruby/object:Gem::Requirement
207
+ none: false
191
208
  requirements:
192
209
  - - ! '>='
193
210
  - !ruby/object:Gem::Version
194
211
  version: '0'
212
+ segments:
213
+ - 0
214
+ hash: -1644705188012950785
195
215
  requirements: []
196
216
  rubyforge_project:
197
- rubygems_version: 2.4.2
217
+ rubygems_version: 1.8.25
198
218
  signing_key:
199
- specification_version: 4
219
+ specification_version: 3
200
220
  summary: Tray Checkout API
201
221
  test_files:
202
222
  - spec/spec_helper.rb
203
223
  - spec/support/mock_request.rb
224
+ - spec/support/responses/create_failure_general_errors.xml
204
225
  - spec/support/responses/create_failure_validation_errors.xml
205
226
  - spec/support/responses/create_success_boleto.xml
206
227
  - spec/support/responses/create_success_mastercard.xml
checksums.yaml DELETED
@@ -1,15 +0,0 @@
1
- ---
2
- !binary "U0hBMQ==":
3
- metadata.gz: !binary |-
4
- OGM3MDBhZDNlODkzYWE5MGEwYjI0YjFlMzJlMjhkNGJiNzE2Y2Q3Yg==
5
- data.tar.gz: !binary |-
6
- YzBkZDI4MjZiYjQ2MmMzM2IzNjRmOTFkMTY3ZmQ3NmUxY2M4MzVkNw==
7
- SHA512:
8
- metadata.gz: !binary |-
9
- ZmEzOTcwNWE3OTFkNTdkMDRiOTBlNDlhZDZhMjcyZjQ1NzBiYjJlMjg1Yjhk
10
- MTdlYzVjNWI2NDU2YWMxODBjM2M0ZDU1NDI1Y2I4ZDBhMzIyY2IzZGY4ZTBl
11
- ZDU0YWRhMjJiNDU1N2ZmYWNmYTlhMTg2ZTAwOTZjZTBkNGY5ZDM=
12
- data.tar.gz: !binary |-
13
- NmMzOTUzNGYyNmM4NDI0MGU4OTI3YjFiYTcyOGY0NDUwYzgxYmY0YjBlNjEz
14
- NmQxODcxMGY1NmYyNjYwZjA3MGQ3ZTBiZTU5ZTgzODc4NGEwMGJlY2MzMDUx
15
- NDliOTNiYThlYmJiM2MzNDZhZTFkMGNmZWE0YTg0MGE4MTA0MGE=