tray-checkout 0.4.3 → 0.4.4

Sign up to get free protection for your applications and to get access to all the features.
@@ -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=