nfg-client 1.0.2 → 1.0.3
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.
- checksums.yaml +5 -13
- data/lib/nfg-client/utils.rb +19 -1
- data/lib/nfg-client/version.rb +1 -1
- data/nfg-client.gemspec +1 -0
- data/spec/unit/make_cof_donation_spec.rb +1 -1
- metadata +28 -15
checksums.yaml
CHANGED
@@ -1,15 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
|
5
|
-
data.tar.gz: !binary |-
|
6
|
-
YWVlNjNkZWUxNzNiN2E2ZmNhMTMxNDRiMDFiMWRmYzI5NDY1MWUwOQ==
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: 5a7c8e37dc56b5de8b54200c7d918339a1ce1f08
|
4
|
+
data.tar.gz: 29c4314bc8ab18a48f2c2cec814b13fbdca7ce6d
|
7
5
|
SHA512:
|
8
|
-
metadata.gz:
|
9
|
-
|
10
|
-
NGJkOTQ5N2VjMjlmNDJhMWI3YjM3ZmQ3ZDVjODE5ODUzZTUyM2U2YTY2NjRl
|
11
|
-
ZTkxMjFlNzhhZTFjNjFhYjI0OWUzZDBmOTE1NjJkYjM1ZDBmNjU=
|
12
|
-
data.tar.gz: !binary |-
|
13
|
-
Y2M3ZGIzMjk2ZjE0YmZkNTBkNWIyYzZhMjc4OTk4MDUyZmE4MjI3ODU3ZTRm
|
14
|
-
NzY0MTc5NTRkYWZhZmFkODU2NzExMTM5ZmRlMTNjYjBmNTdlZWY3YWVjYjQ2
|
15
|
-
ODc2YjgzZWM5YzVmNmIyZWFmNTNkYmMyZTAxN2U5ZTkxYTE0NDc=
|
6
|
+
metadata.gz: d0bbbec1c0d14c051319fa35da773b02f14ebe96e639cf7feb799dca011e9817490ed7ea56e31fb6a05ae5d18ab214e87e2ac2c6e442519d3afde93b7e5239f2
|
7
|
+
data.tar.gz: 54104188e5a9adec36e386f05dead00ac00d8cae7b55824149fcddd8fe0981949be83f1f1c527d7a4b15505e4236e3a0db657818c7ba0d3697f2c57ce960ec63
|
data/lib/nfg-client/utils.rb
CHANGED
@@ -1,5 +1,7 @@
|
|
1
1
|
require 'net/http'
|
2
2
|
require 'rexml/document'
|
3
|
+
require 'cgi'
|
4
|
+
require 'logger'
|
3
5
|
|
4
6
|
module NFGClient
|
5
7
|
module Utils
|
@@ -22,6 +24,7 @@ module NFGClient
|
|
22
24
|
# nfg_method: (String)
|
23
25
|
# params: (Hash)
|
24
26
|
def nfg_soap_request(nfg_method, params)
|
27
|
+
@logger = defined?(Rails) ? Rails.logger : ::Logger.new(STDOUT)
|
25
28
|
if (nfg_method.is_a? String) && (params.is_a? Hash)
|
26
29
|
|
27
30
|
# Build SOAP 1.2 request
|
@@ -29,11 +32,17 @@ module NFGClient
|
|
29
32
|
|
30
33
|
headers = format_headers(nfg_method, soap_request)
|
31
34
|
|
35
|
+
@logger.info headers
|
36
|
+
@logger.info soap_request
|
32
37
|
# Being HTTP Post
|
33
38
|
begin
|
34
39
|
response = ssl_post(soap_request, headers)
|
40
|
+
@logger.info " nfg_soap_request succeeded: #{ response.body.inspect }"
|
35
41
|
return_value = parse_result(response.code, response.body, response.message, nfg_method)
|
36
42
|
rescue StandardError => e
|
43
|
+
@logger.error " nfg_soap_request failed: #{ e.message }"
|
44
|
+
@logger.error e.backtrace.join(' ')
|
45
|
+
|
37
46
|
return_value = Hash.new
|
38
47
|
return_value['StatusCode'] = 'UnexpectedError'
|
39
48
|
return_value['Message'] = e
|
@@ -127,13 +136,22 @@ module NFGClient
|
|
127
136
|
# hash: (Hash)
|
128
137
|
def hash_to_xml(hash)
|
129
138
|
hash.map do |k, v|
|
130
|
-
text = (v.is_a? Hash) ? hash_to_xml(v) : v
|
139
|
+
text = (v.is_a? Hash) ? hash_to_xml(v) : encode_if_text(v)
|
131
140
|
# It removes the digits at the end of each "DonationItem" hash key
|
132
141
|
xml_elem = (v.is_a? Hash) ? k.to_s.gsub(/(\d)/, "") : k
|
133
142
|
"<%s>%s</%s>" % [xml_elem, text, xml_elem]
|
134
143
|
end.join
|
135
144
|
end
|
136
145
|
|
146
|
+
# HTML Encodes the string if it is text, otherwise, leaves it as is
|
147
|
+
def encode_if_text(item)
|
148
|
+
if item.respond_to?(:gsub)
|
149
|
+
CGI.escapeHTML(item)
|
150
|
+
else
|
151
|
+
item
|
152
|
+
end
|
153
|
+
end
|
154
|
+
|
137
155
|
# Raises an exception if the required params are not part of the given hash
|
138
156
|
#
|
139
157
|
# Arguments:
|
data/lib/nfg-client/version.rb
CHANGED
data/nfg-client.gemspec
CHANGED
@@ -7,7 +7,7 @@ describe NFGClient::Client do
|
|
7
7
|
|
8
8
|
describe "#make_cof_donation" do
|
9
9
|
context "with a successful response" do
|
10
|
-
it "should return a hash with
|
10
|
+
it "should return a hash with the COFId" do
|
11
11
|
nfg_client.expects(:ssl_post).returns(nfg_response('200',successful_make_cof_donation_response))
|
12
12
|
expect(subject['StatusCode']).to eq('Success')
|
13
13
|
expect(subject['COFId']).to eq('1111111')
|
metadata
CHANGED
@@ -1,69 +1,83 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: nfg-client
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0.
|
4
|
+
version: 1.0.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Antonio Ruano Cuesta
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2014-07
|
11
|
+
date: 2014-11-07 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: andand
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
16
16
|
requirements:
|
17
|
-
- - ~>
|
17
|
+
- - "~>"
|
18
18
|
- !ruby/object:Gem::Version
|
19
19
|
version: 1.3.3
|
20
20
|
type: :runtime
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
|
-
- - ~>
|
24
|
+
- - "~>"
|
25
25
|
- !ruby/object:Gem::Version
|
26
26
|
version: 1.3.3
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: rspec
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
30
30
|
requirements:
|
31
|
-
- - ~>
|
31
|
+
- - "~>"
|
32
32
|
- !ruby/object:Gem::Version
|
33
33
|
version: 2.13.0
|
34
34
|
type: :development
|
35
35
|
prerelease: false
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
37
37
|
requirements:
|
38
|
-
- - ~>
|
38
|
+
- - "~>"
|
39
39
|
- !ruby/object:Gem::Version
|
40
40
|
version: 2.13.0
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
42
|
name: simplecov
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
44
44
|
requirements:
|
45
|
-
- -
|
45
|
+
- - ">="
|
46
46
|
- !ruby/object:Gem::Version
|
47
47
|
version: '0'
|
48
48
|
type: :development
|
49
49
|
prerelease: false
|
50
50
|
version_requirements: !ruby/object:Gem::Requirement
|
51
51
|
requirements:
|
52
|
-
- -
|
52
|
+
- - ">="
|
53
53
|
- !ruby/object:Gem::Version
|
54
54
|
version: '0'
|
55
55
|
- !ruby/object:Gem::Dependency
|
56
56
|
name: mocha
|
57
57
|
requirement: !ruby/object:Gem::Requirement
|
58
58
|
requirements:
|
59
|
-
- -
|
59
|
+
- - ">="
|
60
60
|
- !ruby/object:Gem::Version
|
61
61
|
version: '0'
|
62
62
|
type: :development
|
63
63
|
prerelease: false
|
64
64
|
version_requirements: !ruby/object:Gem::Requirement
|
65
65
|
requirements:
|
66
|
-
- -
|
66
|
+
- - ">="
|
67
|
+
- !ruby/object:Gem::Version
|
68
|
+
version: '0'
|
69
|
+
- !ruby/object:Gem::Dependency
|
70
|
+
name: rake
|
71
|
+
requirement: !ruby/object:Gem::Requirement
|
72
|
+
requirements:
|
73
|
+
- - ">="
|
74
|
+
- !ruby/object:Gem::Version
|
75
|
+
version: '0'
|
76
|
+
type: :development
|
77
|
+
prerelease: false
|
78
|
+
version_requirements: !ruby/object:Gem::Requirement
|
79
|
+
requirements:
|
80
|
+
- - ">="
|
67
81
|
- !ruby/object:Gem::Version
|
68
82
|
version: '0'
|
69
83
|
description: Client for the Network for Good SOAP API.
|
@@ -73,8 +87,8 @@ executables: []
|
|
73
87
|
extensions: []
|
74
88
|
extra_rdoc_files: []
|
75
89
|
files:
|
76
|
-
- .gitignore
|
77
|
-
- .rspec
|
90
|
+
- ".gitignore"
|
91
|
+
- ".rspec"
|
78
92
|
- Gemfile
|
79
93
|
- LICENSE.md
|
80
94
|
- README.md
|
@@ -114,12 +128,12 @@ require_paths:
|
|
114
128
|
- lib
|
115
129
|
required_ruby_version: !ruby/object:Gem::Requirement
|
116
130
|
requirements:
|
117
|
-
- -
|
131
|
+
- - ">="
|
118
132
|
- !ruby/object:Gem::Version
|
119
133
|
version: '0'
|
120
134
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
121
135
|
requirements:
|
122
|
-
- -
|
136
|
+
- - ">="
|
123
137
|
- !ruby/object:Gem::Version
|
124
138
|
version: '0'
|
125
139
|
requirements: []
|
@@ -149,4 +163,3 @@ test_files:
|
|
149
163
|
- spec/unit/response_stubs/make_cof_donation_stubs.rb
|
150
164
|
- spec/unit/response_stubs/make_donation_add_cof_stubs.rb
|
151
165
|
- spec/unit/response_stubs/spec_response_helpers.rb
|
152
|
-
has_rdoc:
|