alpha_card 0.1.9 → 0.2.0
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 +4 -4
- data/alpha_card.gemspec +2 -2
- data/lib/alpha_card.rb +7 -5
- data/lib/alpha_card/alpha_card_response.rb +3 -3
- data/lib/alpha_card/data/{codes.yml → credit_card_codes.yml} +0 -0
- data/lib/alpha_card/errors/alpha_card_error.rb +23 -0
- data/lib/alpha_card/errors/api_connection_error.rb +6 -0
- data/spec/alpha_card/alpha_card_spec.rb +6 -6
- metadata +5 -4
- data/lib/alpha_card/alpha_card_error.rb +0 -6
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 76fc164bc35261fa54520d3d411288fe4dac224e
|
4
|
+
data.tar.gz: fa87d69a8a812fca096d22e394c82ea9ef4f31cb
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 5e354992f043c879b4b6f12e931417dba4356b19ad757223b875f98d00f89a50d0281b514c0c0b20aa793727da396ba760d17ae05704849033ed9ef1c0ef1a4b
|
7
|
+
data.tar.gz: c9533e52a55e8ab79b447c32e55e15fffe4e38064e9cd1850ddefb706c4fd3567ee8345aa2fff0d924dfa81842921674f8608fe18674078052970a89ae3dc04b
|
data/alpha_card.gemspec
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
Gem::Specification.new do |gem|
|
2
2
|
gem.name = 'alpha_card'
|
3
|
-
gem.version = '0.
|
4
|
-
gem.date = '2014-07-
|
3
|
+
gem.version = '0.2.0'
|
4
|
+
gem.date = '2014-07-09'
|
5
5
|
gem.summary = 'Alpha Card Services DirectPost API for Ruby'
|
6
6
|
gem.description = 'Gem for creating sales with Alpha Card Services DirectPost API'
|
7
7
|
gem.authors = ['Nikita Bulaj']
|
data/lib/alpha_card.rb
CHANGED
@@ -6,7 +6,9 @@ require 'rest_client'
|
|
6
6
|
require 'alpha_card/utils'
|
7
7
|
require 'alpha_card/alpha_card_object'
|
8
8
|
require 'alpha_card/alpha_card_response'
|
9
|
-
|
9
|
+
|
10
|
+
require 'alpha_card/errors/alpha_card_error'
|
11
|
+
require 'alpha_card/errors/api_connection_error'
|
10
12
|
|
11
13
|
require 'alpha_card/account'
|
12
14
|
require 'alpha_card/shipping'
|
@@ -25,10 +27,10 @@ module AlphaCard
|
|
25
27
|
# Global Payment Systems (NDC) Credit Card Authorization Codes
|
26
28
|
#
|
27
29
|
# @see http://floristwiki.ftdi.com/images/c/ce/Appendix_A_-_Credit_Card_Authorization_Codes.pdf Credit Card Authorization Codes
|
28
|
-
CREDIT_CARD_CODES ||= YAML.load_file(File.expand_path('../alpha_card/data/
|
30
|
+
CREDIT_CARD_CODES ||= YAML.load_file(File.expand_path('../alpha_card/data/credit_card_codes.yml', __FILE__))
|
29
31
|
|
30
32
|
class << self
|
31
|
-
|
33
|
+
# @return [String] Alpha Card Gateway DirectPost API URL.
|
32
34
|
attr_accessor :api_base
|
33
35
|
end
|
34
36
|
|
@@ -99,7 +101,7 @@ module AlphaCard
|
|
99
101
|
# Alpha Card Services response text.
|
100
102
|
def self.handle_alpha_card_errors(response)
|
101
103
|
code = response.text
|
102
|
-
raise AlphaCardError.new(CREDIT_CARD_CODES[code] || code) unless response.success?
|
104
|
+
raise AlphaCardError.new(CREDIT_CARD_CODES[code] || code, response) unless response.success?
|
103
105
|
end
|
104
106
|
|
105
107
|
##
|
@@ -126,7 +128,7 @@ module AlphaCard
|
|
126
128
|
message = 'Unexpected error communicating with Alpha Card Gateway.'
|
127
129
|
end
|
128
130
|
|
129
|
-
raise
|
131
|
+
raise APIConnectionError.new(message + "\n\n(Network error: #{e.message})")
|
130
132
|
end
|
131
133
|
end
|
132
134
|
|
@@ -80,7 +80,7 @@ module AlphaCard
|
|
80
80
|
##
|
81
81
|
# Indicate the state of the request to the
|
82
82
|
# Alpha Card Gateway. Returns <i>true</i> if
|
83
|
-
#
|
83
|
+
# request was <i>approved</i>.
|
84
84
|
#
|
85
85
|
# @return [Bool] true if request if successful
|
86
86
|
#
|
@@ -97,7 +97,7 @@ module AlphaCard
|
|
97
97
|
##
|
98
98
|
# Indicate the state of the request to the
|
99
99
|
# Alpha Card Gateway. Returns <i>true</i> if
|
100
|
-
#
|
100
|
+
# request was <i>declined</i>.
|
101
101
|
#
|
102
102
|
# @return [Bool] true if request was declined
|
103
103
|
#
|
@@ -114,7 +114,7 @@ module AlphaCard
|
|
114
114
|
##
|
115
115
|
# Indicate the state of the request to the
|
116
116
|
# Alpha Card Gateway. Returns <i>true</i> if
|
117
|
-
#
|
117
|
+
# request has some <i>errors</i>.
|
118
118
|
#
|
119
119
|
# @return [Bool] true if request has some errors
|
120
120
|
#
|
File without changes
|
@@ -0,0 +1,23 @@
|
|
1
|
+
module AlphaCard
|
2
|
+
##
|
3
|
+
# Common class for Alpha Card Gateway errors and exceptions.
|
4
|
+
class AlphaCardError < StandardError
|
5
|
+
attr_reader :response
|
6
|
+
attr_reader :message
|
7
|
+
|
8
|
+
##
|
9
|
+
# <code>AlphaCard::AlphaCardError</code> constructor.
|
10
|
+
#
|
11
|
+
# @param [String] error message
|
12
|
+
# @param [AlphaCard::AlphaCardResponse] AlphaCard Gateway response
|
13
|
+
#
|
14
|
+
# @example
|
15
|
+
# AlphaCard::AlphaCardError.new
|
16
|
+
#
|
17
|
+
# #=> #<AlphaCard::AlphaCardError: AlphaCard::AlphaCardError>
|
18
|
+
def initialize(message = nil, response = nil)
|
19
|
+
@message = message
|
20
|
+
@response = response
|
21
|
+
end
|
22
|
+
end
|
23
|
+
end
|
@@ -93,20 +93,20 @@ describe AlphaCard do
|
|
93
93
|
let!(:socket_error) { SocketError.new }
|
94
94
|
let!(:unclassified_error) { StandardError.new('Some error') }
|
95
95
|
|
96
|
-
it 'should raise an
|
97
|
-
expect { AlphaCard.handle_connection_errors(rest_client_error) }.to raise_error(AlphaCard::
|
96
|
+
it 'should raise an APIConnectionError if Rest Client Error' do
|
97
|
+
expect { AlphaCard.handle_connection_errors(rest_client_error) }.to raise_error(AlphaCard::APIConnectionError) do |e|
|
98
98
|
expect(e.message).to include('Could not connect to Alpha Card Gateway')
|
99
99
|
end
|
100
100
|
end
|
101
101
|
|
102
|
-
it 'should raise an
|
103
|
-
expect { AlphaCard.handle_connection_errors(socket_error) }.to raise_error(AlphaCard::
|
102
|
+
it 'should raise an APIConnectionError if Socket Error' do
|
103
|
+
expect { AlphaCard.handle_connection_errors(socket_error) }.to raise_error(AlphaCard::APIConnectionError) do |e|
|
104
104
|
expect(e.message).to include('Unexpected error communicating when trying to connect to Alpha Card Gateway')
|
105
105
|
end
|
106
106
|
end
|
107
107
|
|
108
|
-
it 'should raise an
|
109
|
-
expect { AlphaCard.handle_connection_errors(unclassified_error) }.to raise_error(AlphaCard::
|
108
|
+
it 'should raise an APIConnectionError if Unclassified Error' do
|
109
|
+
expect { AlphaCard.handle_connection_errors(unclassified_error) }.to raise_error(AlphaCard::APIConnectionError) do |e|
|
110
110
|
expect(e.message).to include('Unexpected error communicating with Alpha Card Gateway')
|
111
111
|
end
|
112
112
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: alpha_card
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.2.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Nikita Bulaj
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2014-07-
|
11
|
+
date: 2014-07-09 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rspec
|
@@ -40,11 +40,12 @@ files:
|
|
40
40
|
- alpha_card.gemspec
|
41
41
|
- lib/alpha_card.rb
|
42
42
|
- lib/alpha_card/account.rb
|
43
|
-
- lib/alpha_card/alpha_card_error.rb
|
44
43
|
- lib/alpha_card/alpha_card_object.rb
|
45
44
|
- lib/alpha_card/alpha_card_response.rb
|
46
45
|
- lib/alpha_card/billing.rb
|
47
|
-
- lib/alpha_card/data/
|
46
|
+
- lib/alpha_card/data/credit_card_codes.yml
|
47
|
+
- lib/alpha_card/errors/alpha_card_error.rb
|
48
|
+
- lib/alpha_card/errors/api_connection_error.rb
|
48
49
|
- lib/alpha_card/order.rb
|
49
50
|
- lib/alpha_card/sale.rb
|
50
51
|
- lib/alpha_card/shipping.rb
|