yp-ruby 0.1.2 → 0.1.3

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: 0caf737e9e7156d763dc679acdd059c8379f76cd
4
- data.tar.gz: 1debc4630ecbc1ef807622deff78a10228cc73ae
3
+ metadata.gz: c0e8f0cb22b7a4f03a355e460984e1ac50da242b
4
+ data.tar.gz: fa63594396cabc343e2699290b1223c762c903fb
5
5
  SHA512:
6
- metadata.gz: 244c9f4afec50d95f0bcad7522395d466cb5853d57d1b2e7af2c12f14d0272070ff83c7b772f5e299d9d842082b9bff26714cbdaf676773f319be78ea9061a61
7
- data.tar.gz: 941afacc6018c672139fc338cb475f40719f406d1781216f6956e51b8ef2685d12d6599a47217dded3a12d490501fb62845250abc5d4b849da675e658e5b80f0
6
+ metadata.gz: 9e96e8bfbb983d3336d1b81798087b6d81c64b1631f748488fccaa8206210aa325d1b4c5341523192a141bdb5c80d61882247fad4767a8d1e548a2145c487eff
7
+ data.tar.gz: 01ec3ed018db1179656697a4ea112b493e04021d3453ff58519f45041abc6d9623b6bd348fe267bb4f1206ee501c32590912cc84fae86fd7af495694740a5ac2
data/lib/base.rb CHANGED
@@ -1,3 +1,5 @@
1
+ require 'transaction_logger'
2
+
1
3
  module Yp
2
4
  class Base
3
5
  TYPE = {
@@ -16,7 +18,7 @@ module Yp
16
18
  def body
17
19
  @params.clone.tap do |params|
18
20
  params[:signature] = create_signing_hash
19
- Yp.logger.info "[YP] Sending transaction with params #{params.to_s}"
21
+ TransactionLogger.log_request(params)
20
22
  end
21
23
  end
22
24
 
@@ -69,7 +71,7 @@ module Yp
69
71
 
70
72
  def parse(response)
71
73
  ruby_hash_from_response(CGI::parse(response)).tap do |parsed|
72
- Yp.logger.info "[YP] Response received with params #{parsed}"
74
+ TransactionLogger.log_response(parsed)
73
75
  end
74
76
  end
75
77
 
@@ -0,0 +1,39 @@
1
+ module Yp
2
+ class TransactionLogger
3
+ class << self
4
+
5
+ FILTERED_KEYS = %w(cardNumber cardCVV cardExpiryMonth cardExpiryYear)
6
+
7
+ def log_request(params)
8
+ info 'Sending transaction', params
9
+ end
10
+
11
+ def log_response(params)
12
+ info 'Response received', params
13
+ end
14
+
15
+ private
16
+
17
+ def info(str, params=nil)
18
+ Yp.logger.info("#{format_message(str)} #{format_params(params)}")
19
+ end
20
+
21
+ def format_message(str)
22
+ "[YP] #{str}"
23
+ end
24
+
25
+ def format_params(params)
26
+ " with params #{filter_card_params(params).to_s}"
27
+ end
28
+
29
+ def filter_card_params(hash)
30
+ hash.reduce({}) { |memo, param| memo.merge(apply_filter(*param)) }
31
+ end
32
+
33
+ def apply_filter(k, v)
34
+ { k => FILTERED_KEYS.include?(k.to_s) ? '[FILTERED]' : v }
35
+ end
36
+
37
+ end
38
+ end
39
+ end
data/lib/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Yp
2
- VERSION = "0.1.2"
2
+ VERSION = "0.1.3"
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: yp-ruby
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.2
4
+ version: 0.1.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Andrew Hall
@@ -139,6 +139,7 @@ files:
139
139
  - lib/nil_logger.rb
140
140
  - lib/preauth.rb
141
141
  - lib/sale.rb
142
+ - lib/transaction_logger.rb
142
143
  - lib/verify.rb
143
144
  - lib/version.rb
144
145
  - lib/yp.rb