paypkg 0.1.3 → 0.1.5
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +8 -0
- data/lib/paypkg.rb +78 -0
- data/lib/paypkg/version.rb +2 -1
- data/paypkg.gemspec +2 -3
- metadata +6 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 04971f9b28415697d2b097efbd0d33fa26e1cba8
|
4
|
+
data.tar.gz: f569dacfcd0f7e0fa5a869779cf689505c8ab8de
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 9941a82ddbdaa08ba00955680394614b5f0cb39cf29187be894aadb77d29093cd78a4dd50572f9269e27860a83f0b0c958c756527a6e8acf4a19a7714a686a0f
|
7
|
+
data.tar.gz: e00e4f1c0b547d006551df380876e7b8a5a18581ec8450a7bb04719dec24aef8c29e03fb349746968db01fac4b3950fdc2bc8f00b18dd94616297e18aba33d81
|
data/CHANGELOG.md
CHANGED
@@ -1,3 +1,11 @@
|
|
1
|
+
0.1.5
|
2
|
+
* Moved the release date into the same file as the version so as not to forget to change it along with the version number.
|
3
|
+
|
4
|
+
0.1.4
|
5
|
+
-----
|
6
|
+
* Added a new method 'error_data' which returns a standardized error response.
|
7
|
+
This method should only be called when 'call_paypal' returns false.
|
8
|
+
|
1
9
|
0.1.3
|
2
10
|
-----
|
3
11
|
* Removed unused parameter from accept_pp_payment.
|
data/lib/paypkg.rb
CHANGED
@@ -152,6 +152,84 @@ public
|
|
152
152
|
def response
|
153
153
|
if hash.last then PaypkgResponse.new(hash.last) else nil end
|
154
154
|
end
|
155
|
+
|
156
|
+
# This method collects the response data in such a way as to guarantee
|
157
|
+
# valid Ruby stuctures will be generated, i.e., you won't get a
|
158
|
+
# runtime error because of nil, etc.
|
159
|
+
#
|
160
|
+
# It produces 3 outputs:
|
161
|
+
# (1) A non-nil error hash
|
162
|
+
# {
|
163
|
+
# :name => "VALIDATION_ERROR",
|
164
|
+
# :details => [
|
165
|
+
# {
|
166
|
+
# :field => "payer.funding_instruments[0].credit_card.number",
|
167
|
+
# :issue => "Value is invalid"
|
168
|
+
# },
|
169
|
+
# {
|
170
|
+
# :field => "payer.funding_instruments[0].credit_card.number",
|
171
|
+
# :issue => "Number is crap"
|
172
|
+
# }
|
173
|
+
# ],
|
174
|
+
# :message => "Invalid request - see details",
|
175
|
+
# :information_link => "https://developer.paypal.com/webapps/developer/docs/api/#VALIDATION_ERROR",
|
176
|
+
# :debug_id => "88dcf0c1730bb"
|
177
|
+
# }
|
178
|
+
# (2) A non-nil response object
|
179
|
+
# <PaypkgResponse:0x00000001e60040 @name="VALIDATION_ERROR",
|
180
|
+
# @details=[
|
181
|
+
# <PaypkgResponse:0x00000001e73e10 @field="payer.funding_instruments[0].credit_card.number", @issue="Value is invalid">, \
|
182
|
+
# <PaypkgResponse:0x00000001e73988 @field="payer.funding_instruments[0].credit_card.number", @issue="Invalid card type"> \
|
183
|
+
# ],
|
184
|
+
# @message="Invalid request - see details", \
|
185
|
+
# @information_link="https://developer.paypal.com/webapps/developer/docs/api/#VALIDATION_ERROR", \
|
186
|
+
# @debug_id="88dcf0c1730bb"
|
187
|
+
# >
|
188
|
+
# (3) A non-nil details array
|
189
|
+
# [
|
190
|
+
# {
|
191
|
+
# :field => "payer.funding_instruments[0].credit_card.number",
|
192
|
+
# :issue => "Value is invalid"
|
193
|
+
# },
|
194
|
+
# {
|
195
|
+
# :field => "payer.funding_instruments[0].credit_card.number",
|
196
|
+
# :issue => "Number is crap"
|
197
|
+
# }
|
198
|
+
# ]
|
199
|
+
def error_data
|
200
|
+
conditioned_details = []
|
201
|
+
if @hash.last
|
202
|
+
conditioned_hash = @hash.last
|
203
|
+
# sometimes there's details, sometimes not
|
204
|
+
if conditioned_hash.has_key?(:details)
|
205
|
+
# process errors
|
206
|
+
conditioned_hash[:details].each do |detail|
|
207
|
+
conditioned_details << detail
|
208
|
+
end
|
209
|
+
end
|
210
|
+
else
|
211
|
+
status = @status.last
|
212
|
+
case status[0]
|
213
|
+
when '4'
|
214
|
+
name = "CLIENT ERROR"
|
215
|
+
message = "The request sent to PayPal was invalid"
|
216
|
+
when '5'
|
217
|
+
name = "SERVER ERROR"
|
218
|
+
message = "PayPay's servers had a problem"
|
219
|
+
else
|
220
|
+
name = "UNKNOWN ERROR"
|
221
|
+
message = ""
|
222
|
+
end
|
223
|
+
conditioned_hash = {
|
224
|
+
:name => name,
|
225
|
+
:message => "%s. PayPal returned status code %s"%[message,status],
|
226
|
+
:information_link => "https://developer.paypal.com/webapps/developer/docs/api",
|
227
|
+
:debug_id => "0000000000000"
|
228
|
+
}
|
229
|
+
end
|
230
|
+
conditioned_response = PaypkgResponse.new(conditioned_hash)
|
231
|
+
return conditioned_hash, conditioned_response, conditioned_details
|
232
|
+
end
|
155
233
|
end
|
156
234
|
|
157
235
|
# This require loop has to be after the Paypkg class.
|
data/lib/paypkg/version.rb
CHANGED
data/paypkg.gemspec
CHANGED
@@ -2,11 +2,10 @@ require_relative File.dirname(__FILE__) + '/lib/paypkg/version'
|
|
2
2
|
include Version
|
3
3
|
Gem::Specification.new do |s|
|
4
4
|
s.name = 'paypkg'
|
5
|
-
# when changing version, also change the lib/paypkg.rb
|
6
5
|
s.version = VERSION
|
7
|
-
s.date =
|
6
|
+
s.date = MODIFIED
|
8
7
|
s.summary = 'Simple PayPal Connection for Ruby'
|
9
|
-
s.description = "This gem uses Net::HTTP to communicate with the PayPal servers. It has calls for the most common PayPal functions to simplify using PayPal in a Ruby application."
|
8
|
+
s.description = "This gem uses Net::HTTP to communicate with the PayPal servers. It has calls for the most common PayPal functions to simplify using PayPal in a Ruby application. I developed this package as a way to call PayPal's REST API with greater transparancy than the paypal-sdk-rest gem has, making development easier. This package can be easily extended by simply adding additional methods (as files) to the lib/paypkg folder. Contributions welcome."
|
10
9
|
s.authors = ["Michael J. Welch, Ph.D."]
|
11
10
|
s.email = 'rubygems@czarmail.com'
|
12
11
|
s.files = Dir.glob(["paypkg.gemspec", "config/paypkg.yml", "CHANGELOG.md", "README.md", "README.html", "lib/paypkg.rb", "lib/paypkg/*", "test/*", "test/paypkg_test/*" ])
|
metadata
CHANGED
@@ -1,17 +1,21 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: paypkg
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.5
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Michael J. Welch, Ph.D.
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2014-
|
11
|
+
date: 2014-07-22 00:00:00.000000000 Z
|
12
12
|
dependencies: []
|
13
13
|
description: This gem uses Net::HTTP to communicate with the PayPal servers. It has
|
14
14
|
calls for the most common PayPal functions to simplify using PayPal in a Ruby application.
|
15
|
+
I developed this package as a way to call PayPal's REST API with greater transparancy
|
16
|
+
than the paypal-sdk-rest gem has, making development easier. This package can be
|
17
|
+
easily extended by simply adding additional methods (as files) to the lib/paypkg
|
18
|
+
folder. Contributions welcome.
|
15
19
|
email: rubygems@czarmail.com
|
16
20
|
executables: []
|
17
21
|
extensions: []
|