yp-ruby 0.1.1 → 0.1.2

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 528fcfa0770f8324e61992af2eadc210cad2cde2
4
- data.tar.gz: 50fce67d6f88759799969e8e4030968731a3e8bf
3
+ metadata.gz: 0caf737e9e7156d763dc679acdd059c8379f76cd
4
+ data.tar.gz: 1debc4630ecbc1ef807622deff78a10228cc73ae
5
5
  SHA512:
6
- metadata.gz: f55af4c0f028f184c98ed04e511b6ef3bc494fbdcfccbdf27fbd964f08cb4e166fd76c30a71db9019c33119f9ec14d9741fd3e306d0b8b444919da06c72d7553
7
- data.tar.gz: 9580f6105dcb7dae98799c69eb7093edef2f6ae8fba7609569aa0a1d626d5108881ab83af8d55131a507ce0c0af62ef238a4fb79283a8e1d33b1668bf655de20
6
+ metadata.gz: 244c9f4afec50d95f0bcad7522395d466cb5853d57d1b2e7af2c12f14d0272070ff83c7b772f5e299d9d842082b9bff26714cbdaf676773f319be78ea9061a61
7
+ data.tar.gz: 941afacc6018c672139fc338cb475f40719f406d1781216f6956e51b8ef2685d12d6599a47217dded3a12d490501fb62845250abc5d4b849da675e658e5b80f0
data/lib/base.rb CHANGED
@@ -9,12 +9,15 @@ module Yp
9
9
  attr_reader :params
10
10
 
11
11
  def initialize(signature_key, type: :ecom, **params)
12
- @params = params.merge(default_params).merge(transaction_type(type))
12
+ @params = transaction_params(params, type)
13
13
  @signature_key = signature_key
14
14
  end
15
15
 
16
16
  def body
17
- @params.clone.tap { |params| params[:signature] = create_signing_hash }
17
+ @params.clone.tap do |params|
18
+ params[:signature] = create_signing_hash
19
+ Yp.logger.info "[YP] Sending transaction with params #{params.to_s}"
20
+ end
18
21
  end
19
22
 
20
23
  def create_signing_hash
@@ -37,6 +40,19 @@ module Yp
37
40
  {}
38
41
  end
39
42
 
43
+ def action_params
44
+ {}
45
+ end
46
+
47
+ private
48
+
49
+ def transaction_params(params, type)
50
+ params
51
+ .merge(default_params)
52
+ .merge(transaction_type(type))
53
+ .merge(action_params)
54
+ end
55
+
40
56
  def transaction_type(type)
41
57
  { type: TYPE[type] }
42
58
  end
@@ -52,7 +68,9 @@ module Yp
52
68
  end
53
69
 
54
70
  def parse(response)
55
- ruby_hash_from_response(CGI::parse(response))
71
+ ruby_hash_from_response(CGI::parse(response)).tap do |parsed|
72
+ Yp.logger.info "[YP] Response received with params #{parsed}"
73
+ end
56
74
  end
57
75
 
58
76
  private
data/lib/nil_logger.rb ADDED
@@ -0,0 +1,9 @@
1
+ module Yp
2
+ class NilLogger < Logger
3
+ def initialize(*args)
4
+ end
5
+
6
+ def add(*args, &block)
7
+ end
8
+ end
9
+ end
data/lib/preauth.rb ADDED
@@ -0,0 +1,11 @@
1
+ module Yp
2
+ class Preauth < Base
3
+
4
+ protected
5
+
6
+ def default_params
7
+ { action: 'PREAUTH' }
8
+ end
9
+
10
+ end
11
+ end
data/lib/verify.rb ADDED
@@ -0,0 +1,15 @@
1
+ module Yp
2
+ class Verify < Base
3
+
4
+ protected
5
+
6
+ def default_params
7
+ { action: 'VERIFY' }
8
+ end
9
+
10
+ def action_params
11
+ { amount: 0 }
12
+ end
13
+
14
+ end
15
+ end
data/lib/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Yp
2
- VERSION = "0.1.1"
2
+ VERSION = "0.1.2"
3
3
  end
data/lib/yp.rb CHANGED
@@ -3,11 +3,22 @@ require 'rest-client'
3
3
  require 'digest'
4
4
  require 'erb'
5
5
  require 'cgi'
6
+ require 'logger'
7
+ require 'nil_logger'
8
+
6
9
  require 'base'
7
10
 
8
11
  require 'sale'
12
+ require 'verify'
13
+ require 'preauth'
9
14
  require 'factory'
10
15
 
11
16
  module Yp
12
17
  URL = 'https://gateway.yorkshirepayments.com/direct/'
18
+
19
+ class << self
20
+ attr_accessor :logger
21
+ end
22
+
23
+ self.logger = NilLogger.new
13
24
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: yp-ruby
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.1
4
+ version: 0.1.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Andrew Hall
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2017-01-07 00:00:00.000000000 Z
11
+ date: 2017-01-21 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rest-client
@@ -136,7 +136,10 @@ files:
136
136
  - exe/yp-ruby
137
137
  - lib/base.rb
138
138
  - lib/factory.rb
139
+ - lib/nil_logger.rb
140
+ - lib/preauth.rb
139
141
  - lib/sale.rb
142
+ - lib/verify.rb
140
143
  - lib/version.rb
141
144
  - lib/yp.rb
142
145
  - yp-ruby.gemspec