mondido 1.0.0 → 1.0.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/mondido.rb +1 -6
- data/lib/mondido/config.rb +1 -1
- data/lib/mondido/credentials.rb +27 -6
- data/lib/mondido/credit_card/transaction.rb +1 -1
- data/lib/mondido/exceptions/exceptions.rb +1 -0
- data/lib/mondido/exceptions/missing_file.rb +7 -0
- data/lib/mondido/rest_client.rb +1 -1
- data/lib/mondido/version.rb +1 -1
- data/spec/credit_card/refund_spec.rb +2 -2
- data/spec/credit_card/stored_card_spec.rb +4 -4
- data/spec/credit_card/transaction_spec.rb +10 -10
- data/spec/spec_helper.rb +3 -3
- metadata +2 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 2844bcc3718fa1e1e93c9b3fc35f62c9430c2251
|
4
|
+
data.tar.gz: 40c734aff3acc4c0375551efe1663d501a33ff35
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: f6b82c440260a10b0912c904865bf3ed64ca13431428458db56379c1d4dddd0d688b66695e307e37298f2122429ee46621d679e9e6f7b8c5d5c4f4eaa7946d6d
|
7
|
+
data.tar.gz: ef7263f2b40e9c32162c87b1eb7960c7185e2400564d40e58fa9e1cfa6219b14d71f1f1dd061a1a9fad2b9fb03be8f9405d6f0bde442101d28fa375a8ddfc87e
|
data/lib/mondido.rb
CHANGED
@@ -1,6 +1,7 @@
|
|
1
1
|
module Mondido
|
2
2
|
require 'active_support'
|
3
3
|
require 'active_model'
|
4
|
+
require 'mondido/credentials'
|
4
5
|
require 'mondido/config'
|
5
6
|
require 'mondido/exceptions/exceptions'
|
6
7
|
require 'mondido/rest_client'
|
@@ -8,12 +9,6 @@ module Mondido
|
|
8
9
|
require 'mondido/credit_card/transaction'
|
9
10
|
require 'mondido/credit_card/refund'
|
10
11
|
require 'mondido/credit_card/stored_card'
|
11
|
-
|
12
|
-
class Railtie < Rails::Railtie
|
13
|
-
initializer 'require credentials after rails is initialized' do
|
14
|
-
require 'mondido/credentials'
|
15
|
-
end
|
16
|
-
end
|
17
12
|
end
|
18
13
|
|
19
14
|
|
data/lib/mondido/config.rb
CHANGED
data/lib/mondido/credentials.rb
CHANGED
@@ -1,16 +1,37 @@
|
|
1
1
|
module Mondido
|
2
2
|
class Credentials
|
3
|
-
|
3
|
+
@@merchant_id = nil
|
4
|
+
@@secret = nil
|
5
|
+
@@password = nil
|
6
|
+
|
7
|
+
def self.merchant_id
|
8
|
+
setup if @@merchant_id.nil?
|
9
|
+
@@merchant_id
|
10
|
+
end
|
11
|
+
|
12
|
+
def self.secret
|
13
|
+
setup if @@secret.nil?
|
14
|
+
@@secret
|
15
|
+
end
|
16
|
+
|
17
|
+
def self.password
|
18
|
+
setup if @@password.nil?
|
19
|
+
@@password
|
20
|
+
end
|
21
|
+
|
22
|
+
private
|
23
|
+
|
24
|
+
def self.setup
|
4
25
|
config_file = File.join(Rails.root, 'config', 'mondido.yml')
|
5
26
|
if File.exist?(config_file)
|
6
27
|
yaml = YAML.load(File.read(config_file))
|
28
|
+
@@merchant_id = yaml['merchant_id']
|
29
|
+
@@secret = yaml['secret']
|
30
|
+
@@password = yaml['password']
|
7
31
|
else
|
8
|
-
raise 'Could not
|
32
|
+
raise Mondido::Exceptions::MissingFile.new 'Could not locate config/mondido.yml'
|
9
33
|
end
|
10
|
-
|
11
|
-
MERCHANT_ID ||= yaml['merchant_id'] or raise 'Mondido merchant ID not set in config/mondido.yml'
|
12
|
-
SECRET ||= yaml['secret'] or raise 'Mondido secret not set in config/mondido.yml'
|
13
|
-
PASSWORD ||= yaml['password'] or raise 'Mondido password not set in config/mondido.yml'
|
14
34
|
end
|
35
|
+
|
15
36
|
end
|
16
37
|
end
|
@@ -63,7 +63,7 @@ module Mondido
|
|
63
63
|
end
|
64
64
|
|
65
65
|
def set_hash!
|
66
|
-
unhashed = [Mondido::Credentials
|
66
|
+
unhashed = [Mondido::Credentials.merchant_id, payment_ref, amount, currency, Mondido::Credentials.secret]
|
67
67
|
self.hash = Digest::MD5.hexdigest(unhashed.join)
|
68
68
|
end
|
69
69
|
|
data/lib/mondido/rest_client.rb
CHANGED
@@ -23,7 +23,7 @@ module Mondido
|
|
23
23
|
when :get
|
24
24
|
request = Net::HTTP::Get.new(uri.path)
|
25
25
|
end
|
26
|
-
request.basic_auth(Mondido::Credentials
|
26
|
+
request.basic_auth(Mondido::Credentials.merchant_id, Mondido::Credentials.password)
|
27
27
|
request.set_form_data(args[:data]) if args.has_key?(:data)
|
28
28
|
response = http.start { |http| http.request(request) }
|
29
29
|
unless (200..299).include?(response.code.to_i)
|
data/lib/mondido/version.rb
CHANGED
@@ -5,8 +5,8 @@ describe Mondido::CreditCard::Refund do
|
|
5
5
|
context 'valid' do
|
6
6
|
before(:all) do
|
7
7
|
uri = URI.parse(Mondido::Config::URI + '/refunds')
|
8
|
-
uri.user = Mondido::Credentials
|
9
|
-
uri.password = Mondido::Credentials
|
8
|
+
uri.user = Mondido::Credentials.merchant_id.to_s
|
9
|
+
uri.password = Mondido::Credentials.password.to_s
|
10
10
|
json_refund = File.read('spec/stubs/refund.json')
|
11
11
|
@refund_hash = JSON.parse(json_refund)
|
12
12
|
|
@@ -5,8 +5,8 @@ describe Mondido::CreditCard::StoredCard do
|
|
5
5
|
context 'valid call' do
|
6
6
|
before(:all) do
|
7
7
|
uri = URI.parse(Mondido::Config::URI + '/stored_cards/300')
|
8
|
-
uri.user = Mondido::Credentials
|
9
|
-
uri.password = Mondido::Credentials
|
8
|
+
uri.user = Mondido::Credentials.merchant_id.to_s
|
9
|
+
uri.password = Mondido::Credentials.password.to_s
|
10
10
|
json_stored_card = File.read('spec/stubs/stored_card.json')
|
11
11
|
@stored_card_hash = JSON.parse(json_stored_card)
|
12
12
|
stub_request(:get, uri.to_s)
|
@@ -37,8 +37,8 @@ describe Mondido::CreditCard::StoredCard do
|
|
37
37
|
context '#create' do
|
38
38
|
before(:all) do
|
39
39
|
uri = URI.parse(Mondido::Config::URI + '/stored_cards')
|
40
|
-
uri.user = Mondido::Credentials
|
41
|
-
uri.password = Mondido::Credentials
|
40
|
+
uri.user = Mondido::Credentials.merchant_id.to_s
|
41
|
+
uri.password = Mondido::Credentials.password.to_s
|
42
42
|
json_transaction = File.read('spec/stubs/stored_card.json')
|
43
43
|
@transaction_hash = JSON.parse(json_transaction)
|
44
44
|
|
@@ -5,8 +5,8 @@ describe Mondido::CreditCard::Transaction do
|
|
5
5
|
context 'list transactions' do
|
6
6
|
before(:all) do
|
7
7
|
uri = URI.parse(Mondido::Config::URI + '/transactions')
|
8
|
-
uri.user = Mondido::Credentials
|
9
|
-
uri.password = Mondido::Credentials
|
8
|
+
uri.user = Mondido::Credentials.merchant_id.to_s
|
9
|
+
uri.password = Mondido::Credentials.password.to_s
|
10
10
|
json_transactions = File.read('spec/stubs/transactions.json')
|
11
11
|
@transactions_array = JSON.parse(json_transactions)
|
12
12
|
|
@@ -25,8 +25,8 @@ describe Mondido::CreditCard::Transaction do
|
|
25
25
|
context 'get transaction' do
|
26
26
|
before(:all) do
|
27
27
|
uri = URI.parse(Mondido::Config::URI + '/transactions/200')
|
28
|
-
uri.user = Mondido::Credentials
|
29
|
-
uri.password = Mondido::Credentials
|
28
|
+
uri.user = Mondido::Credentials.merchant_id.to_s
|
29
|
+
uri.password = Mondido::Credentials.password.to_s
|
30
30
|
json_transaction = File.read('spec/stubs/transaction.json')
|
31
31
|
@transaction_hash = JSON.parse(json_transaction)
|
32
32
|
|
@@ -65,8 +65,8 @@ describe Mondido::CreditCard::Transaction do
|
|
65
65
|
before(:all) do
|
66
66
|
|
67
67
|
uri = URI.parse(Mondido::Config::URI + '/transactions/201')
|
68
|
-
uri.user = Mondido::Credentials
|
69
|
-
uri.password = Mondido::Credentials
|
68
|
+
uri.user = Mondido::Credentials.merchant_id.to_s
|
69
|
+
uri.password = Mondido::Credentials.password.to_s
|
70
70
|
|
71
71
|
json_error = {
|
72
72
|
code: 128,
|
@@ -147,8 +147,8 @@ describe Mondido::CreditCard::Transaction do
|
|
147
147
|
|
148
148
|
it 'raises ApiException errors.payment.declined' do
|
149
149
|
uri = URI.parse(Mondido::Config::URI + '/transactions')
|
150
|
-
uri.user = Mondido::Credentials
|
151
|
-
uri.password = Mondido::Credentials
|
150
|
+
uri.user = Mondido::Credentials.merchant_id.to_s
|
151
|
+
uri.password = Mondido::Credentials.password.to_s
|
152
152
|
json_transaction = File.read('spec/stubs/transaction.json')
|
153
153
|
stub_request(:post, uri.to_s)
|
154
154
|
.with(body: hash_including({card_cvv: '201'}))
|
@@ -168,8 +168,8 @@ describe Mondido::CreditCard::Transaction do
|
|
168
168
|
|
169
169
|
before(:all) do
|
170
170
|
uri = URI.parse(Mondido::Config::URI + '/transactions')
|
171
|
-
uri.user = Mondido::Credentials
|
172
|
-
uri.password = Mondido::Credentials
|
171
|
+
uri.user = Mondido::Credentials.merchant_id.to_s
|
172
|
+
uri.password = Mondido::Credentials.password.to_s
|
173
173
|
json_transaction = File.read('spec/stubs/transaction.json')
|
174
174
|
|
175
175
|
stub_request(:post, uri.to_s)
|
data/spec/spec_helper.rb
CHANGED
@@ -12,8 +12,8 @@ end
|
|
12
12
|
# Monkeymock the config class
|
13
13
|
module Mondido
|
14
14
|
class Credentials
|
15
|
-
|
16
|
-
|
17
|
-
|
15
|
+
def self.merchant_id; 1; end
|
16
|
+
def self.secret; 'secret'; end
|
17
|
+
def self.password; 'password'; end
|
18
18
|
end
|
19
19
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: mondido
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0.
|
4
|
+
version: 1.0.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Robert Falkén
|
@@ -68,6 +68,7 @@ files:
|
|
68
68
|
- lib/mondido/credit_card/transaction.rb
|
69
69
|
- lib/mondido/exceptions/api_exception.rb
|
70
70
|
- lib/mondido/exceptions/exceptions.rb
|
71
|
+
- lib/mondido/exceptions/missing_file.rb
|
71
72
|
- lib/mondido/exceptions/validation_exception.rb
|
72
73
|
- lib/mondido/rest_client.rb
|
73
74
|
- lib/mondido/version.rb
|