samurai 0.2.22 → 0.2.23

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.
data/Gemfile.lock CHANGED
@@ -9,7 +9,7 @@ GIT
9
9
  PATH
10
10
  remote: .
11
11
  specs:
12
- samurai (0.2.21)
12
+ samurai (0.2.23)
13
13
  activeresource (>= 2.2.2)
14
14
 
15
15
  GEM
@@ -13,4 +13,58 @@ class Samurai::Message < Samurai::Base
13
13
  end
14
14
  end
15
15
 
16
+ DEFAULT_RESPONSE_MAPPINGS = {
17
+ # Transaction Responses
18
+ 'info processor.transaction success' => 'The transaction was successful.',
19
+ 'error processor.transaction declined' => 'The card was declined.',
20
+ 'error processor.issuer call' => 'Call the card issuer for further instructions.',
21
+ 'error processor.issuer unavailable' => 'The authorization did not respond within the alloted time.',
22
+ 'error input.card_number invalid' => 'The card number was invalid.',
23
+ 'error input.expiry_month invalid' => 'The expiration date month was invalid, or prior to today.',
24
+ 'error input.expiry_year invalid' => 'The expiration date year was invalid, or prior to today.',
25
+ 'error processor.pin invalid' => 'The PIN number is incorrect.',
26
+ 'error input.amount invalid' => 'The transaction amount was invalid.',
27
+ 'error processor.transaction declined_insufficient_funds' => 'The transaction was declined due to insufficient funds.',
28
+ 'error processor.network_gateway merchant_invalid' => 'The Merchant Number is incorrect.',
29
+ 'error input.merchant_login invalid' => 'The merchant ID is not valid or active.',
30
+ 'error input.store_number invalid' => 'Invalid Store Number.',
31
+ 'error processor.bank_info invalid' => 'Invalid banking information.',
32
+ 'error processor.transaction not_allowed' => 'Merchant can not accept this card.',
33
+ 'error processor.transaction type_invalid' => 'Requested transaction type is not allowed for this card/merchant.',
34
+ 'error processor.transaction method_invalid' => 'The requested transaction could not be performed for this merchant.',
35
+ 'error input.amount exceeds_limit' => 'The maximum transaction amount was exceeded.',
36
+ 'error input.cvv invalid' => 'The CVV data entered is not correct.',
37
+ 'error processor.network_gateway communication_error' => 'There was a fatal communication error.',
38
+ 'error processor.network_gateway unresponsive' => 'The processing network is temporarily unavailable.',
39
+ 'error processor.network_gateway merchant_invalid' => 'The merchant number is not on file.',
40
+
41
+ # AVS Responses
42
+ 'info processor.avs_result_code 0' => 'No response.',
43
+ 'info processor.avs_result_code Y' => 'The address and 5-digit ZIP match.',
44
+ 'info processor.avs_result_code Z' => 'The 5-digit ZIP matches, the address does not.',
45
+ 'info processor.avs_result_code X' => 'The address and 9-digit ZIP match.',
46
+ 'info processor.avs_result_code A' => 'The address matches, the ZIP does not.',
47
+ 'info processor.avs_result_code E' => 'There was an AVS error, or the data was illegible.',
48
+ 'info processor.avs_result_code R' => 'The AVS request timed out.',
49
+ 'info processor.avs_result_code S' => 'The issuer does not support AVS.',
50
+ 'info processor.avs_result_code F' => 'The street addresses and postal codes match.',
51
+ 'info processor.avs_result_code N' => 'The address and ZIP do not match.',
52
+
53
+ # CVV Responses
54
+ 'error input.cvv declined' => 'The CVV code was not correct.',
55
+ 'error input.cvv declined' => 'The CVV code was invalid.',
56
+ }
57
+
58
+ def self.response_mappings
59
+ @@response_mappings ||= DEFAULT_RESPONSE_MAPPINGS
60
+ end
61
+ def self.response_mappings=(_mappings)
62
+ @@response_mappings = DEFAULT_RESPONSE_MAPPINGS.merge(_mappings)
63
+ end
64
+
65
+ def description
66
+ _key = [subclass, context, key].join(' ')
67
+ self.class.response_mappings[_key] || ''
68
+ end
69
+
16
70
  end
@@ -1,3 +1,3 @@
1
1
  module Samurai
2
- VERSION = "0.2.22".freeze
2
+ VERSION = "0.2.23".freeze
3
3
  end
@@ -13,7 +13,7 @@ describe "processing authorizations" do
13
13
 
14
14
  it "should find the authorization" do
15
15
  transaction = Samurai::Transaction.find(@authorization.reference_id)
16
- transaction.reference_id.intern.should be_equal(@authorization.reference_id.intern)
16
+ transaction.reference_id.should == @authorization.reference_id
17
17
  end
18
18
 
19
19
  it "should successfully capture" do
@@ -23,13 +23,13 @@ describe "processing authorizations" do
23
23
 
24
24
  it "should capture an authorization without specifying an amount" do
25
25
  capture = @authorization.capture
26
- capture.amount.intern.should be_equal "#{1.0}".intern
26
+ capture.amount.should == "#{1.0}"
27
27
  capture.processor_response.success.should be_true
28
28
  end
29
29
 
30
30
  it "should partially capture an authorization" do
31
31
  capture = @authorization.capture(1.0 - BigDecimal('0.5'))
32
- capture.amount.intern.should be_equal "#{1.0 - BigDecimal('0.5')}".intern
32
+ capture.amount.should == "#{1.0 - BigDecimal('0.5')}"
33
33
  capture.processor_response.success.should be_true
34
34
  end
35
35
 
@@ -40,7 +40,7 @@ describe "processing authorizations" do
40
40
 
41
41
  it "should credit an authorization for the full amount by default" do
42
42
  credit = @authorization.credit
43
- credit.amount.intern.should be_equal "#{1.0}".intern
43
+ credit.amount.should == "#{1.0}"
44
44
  pending "the response is not successful since the authorization hasn't settled" do
45
45
  credit.processor_response.success.should be_true
46
46
  end
@@ -48,7 +48,7 @@ describe "processing authorizations" do
48
48
 
49
49
  it "should partially credit an authorization" do
50
50
  credit = @authorization.credit(1.0 - BigDecimal('0.5'))
51
- credit.amount.intern.should be_equal "#{1.0 - BigDecimal('0.5')}".intern
51
+ credit.amount.should == "#{1.0 - BigDecimal('0.5')}"
52
52
  pending "the response is not successful since the authorization hasn't settled" do
53
53
  credit.processor_response.success.should be_true
54
54
  end
@@ -0,0 +1,42 @@
1
+ require 'spec_helper'
2
+
3
+ describe "message responses" do
4
+
5
+ it 'should display processor_transaction_success' do
6
+ message = Samurai::Message.new(:subclass=>'info', :context=>'processor.transaction', :key=>'success')
7
+ message.description.should == 'The transaction was successful.'
8
+ end
9
+ it 'should display processor_transaction_declined' do
10
+ message = Samurai::Message.new(:subclass=>'error', :context=>'processor.transaction', :key=>'declined')
11
+ message.description.should == 'The card was declined.'
12
+ end
13
+ it 'should display processor_issuer_call' do
14
+ message = Samurai::Message.new(:subclass=>'error', :context=>'processor.issuer', :key=>'call')
15
+ message.description.should == 'Call the card issuer for further instructions.'
16
+ end
17
+ it 'should display processor_issuer_unavailable' do
18
+ message = Samurai::Message.new(:subclass=>'error', :context=>'processor.issuer', :key=>'unavailable')
19
+ message.description.should == 'The authorization did not respond within the alloted time.'
20
+ end
21
+ it 'should display input_card_number_invalid' do
22
+ message = Samurai::Message.new(:subclass=>'error', :context=>'input.card_number', :key=>'invalid')
23
+ message.description.should == 'The card number was invalid.'
24
+ end
25
+ it 'should display input_expiry_month_invalid' do
26
+ message = Samurai::Message.new(:subclass=>'error', :context=>'input.expiry_month', :key=>'invalid')
27
+ message.description.should == 'The expiration date month was invalid, or prior to today.'
28
+ end
29
+ it 'should display input_expiry_year_invalid' do
30
+ message = Samurai::Message.new(:subclass=>'error', :context=>'input.expiry_year', :key=>'invalid')
31
+ message.description.should == 'The expiration date year was invalid, or prior to today.'
32
+ end
33
+ it 'should display input_amount_invalid' do
34
+ message = Samurai::Message.new(:subclass=>'error', :context=>'input.amount', :key=>'invalid')
35
+ message.description.should == 'The transaction amount was invalid.'
36
+ end
37
+ it 'should display processor_transaction_declined_insufficient_funds' do
38
+ message = Samurai::Message.new(:subclass=>'error', :context=>'processor.transaction', :key=>'declined_insufficient_funds')
39
+ message.description.should == 'The transaction was declined due to insufficient funds.'
40
+ end
41
+
42
+ end
@@ -33,9 +33,8 @@ describe "processing purchases" do
33
33
  end
34
34
 
35
35
  it "should be able to credit a settled purchase" do
36
- pending "currently we cannot force settle a purchase, so can't test this properly" do
37
- credit = @purchase.credit
38
- credit.processor_response.success.should be_true
39
- end
36
+ pending "currently we cannot force settle a purchase, so can't test this properly"
37
+ credit = @purchase.credit
38
+ credit.processor_response.success.should be_true
40
39
  end
41
40
  end
data/spec/spec_helper.rb CHANGED
@@ -27,7 +27,7 @@ Samurai.options = {
27
27
  :site => SITE,
28
28
  :merchant_key => ENV['merchant_key'] || 'a1ebafb6da5238fb8a3ac9f6',
29
29
  :merchant_password => ENV['merchant_password'] || 'ae1aa640f6b735c4730fbb56',
30
- :processor_token => ENV['processor_token'] || '69ac9c704329bb067d427bf0'
30
+ :processor_token => ENV['processor_token'] || '5a0e1ca1e5a11a2997bbf912'
31
31
  }
32
32
 
33
33
 
@@ -25,18 +25,19 @@ module TransparentRedirectHelper
25
25
 
26
26
  def default_payment_method_params
27
27
  {
28
+ 'sandbox' => true,
28
29
  'redirect_url' => 'http://test.host',
29
30
  'merchant_key' => Samurai.merchant_key,
30
31
  'custom' => 'custom',
31
32
  'credit_card[first_name]' => 'FirstName',
32
33
  'credit_card[last_name]' => 'LastName',
33
- 'credit_card[address_1]' => '123 Main St',
34
+ 'credit_card[address_1]' => '1000 1st Av',
34
35
  'credit_card[address_2]' => '',
35
36
  'credit_card[city]' => 'Chicago',
36
37
  'credit_card[state]' => 'IL',
37
- 'credit_card[zip]' => '60610',
38
- 'credit_card[card_number]' => '4222222222222',
39
- 'credit_card[cvv]' => '123',
38
+ 'credit_card[zip]' => '10101',
39
+ 'credit_card[card_number]' => '4111111111111111',
40
+ 'credit_card[cvv]' => '111',
40
41
  'credit_card[expiry_month]' => '05',
41
42
  'credit_card[expiry_year]' => '2014',
42
43
  }
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: samurai
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.22
4
+ version: 0.2.23
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -10,11 +10,11 @@ authors:
10
10
  autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
- date: 2011-10-26 00:00:00.000000000Z
13
+ date: 2011-11-04 00:00:00.000000000Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: activeresource
17
- requirement: &70293528504060 !ruby/object:Gem::Requirement
17
+ requirement: &70268836094780 !ruby/object:Gem::Requirement
18
18
  none: false
19
19
  requirements:
20
20
  - - ! '>='
@@ -22,10 +22,10 @@ dependencies:
22
22
  version: 2.2.2
23
23
  type: :runtime
24
24
  prerelease: false
25
- version_requirements: *70293528504060
25
+ version_requirements: *70268836094780
26
26
  - !ruby/object:Gem::Dependency
27
27
  name: bundler
28
- requirement: &70293528503540 !ruby/object:Gem::Requirement
28
+ requirement: &70268836094280 !ruby/object:Gem::Requirement
29
29
  none: false
30
30
  requirements:
31
31
  - - ! '>='
@@ -33,10 +33,10 @@ dependencies:
33
33
  version: 1.0.0
34
34
  type: :development
35
35
  prerelease: false
36
- version_requirements: *70293528503540
36
+ version_requirements: *70268836094280
37
37
  - !ruby/object:Gem::Dependency
38
38
  name: rspec
39
- requirement: &70293528503060 !ruby/object:Gem::Requirement
39
+ requirement: &70268836093800 !ruby/object:Gem::Requirement
40
40
  none: false
41
41
  requirements:
42
42
  - - ! '>='
@@ -44,10 +44,10 @@ dependencies:
44
44
  version: 2.6.0
45
45
  type: :development
46
46
  prerelease: false
47
- version_requirements: *70293528503060
47
+ version_requirements: *70268836093800
48
48
  - !ruby/object:Gem::Dependency
49
49
  name: fakeweb
50
- requirement: &70293528502500 !ruby/object:Gem::Requirement
50
+ requirement: &70268836093420 !ruby/object:Gem::Requirement
51
51
  none: false
52
52
  requirements:
53
53
  - - ! '>='
@@ -55,10 +55,10 @@ dependencies:
55
55
  version: '0'
56
56
  type: :development
57
57
  prerelease: false
58
- version_requirements: *70293528502500
58
+ version_requirements: *70268836093420
59
59
  - !ruby/object:Gem::Dependency
60
60
  name: ruby-debug19
61
- requirement: &70293528501880 !ruby/object:Gem::Requirement
61
+ requirement: &70268836092920 !ruby/object:Gem::Requirement
62
62
  none: false
63
63
  requirements:
64
64
  - - ! '>='
@@ -66,7 +66,7 @@ dependencies:
66
66
  version: '0'
67
67
  type: :development
68
68
  prerelease: false
69
- version_requirements: *70293528501880
69
+ version_requirements: *70268836092920
70
70
  description: If you are an online merchant and using samurai.feefighters.com, this
71
71
  gem will make your life easy. Integrate with the samurai.feefighters.com portal
72
72
  and process transaction.
@@ -102,13 +102,11 @@ files:
102
102
  - lib/samurai/version.rb
103
103
  - samurai.gemspec
104
104
  - spec/lib/authorization_spec.rb
105
- - spec/lib/generate_docs_spec.rb.bak
105
+ - spec/lib/message_spec.rb
106
106
  - spec/lib/payment_method_spec.rb
107
107
  - spec/lib/processor_spec.rb
108
108
  - spec/lib/purchase_spec.rb
109
109
  - spec/spec_helper.rb
110
- - spec/support/http_proxy.rb
111
- - spec/support/response_logger.rb
112
110
  - spec/support/transaction_seed.rb
113
111
  - spec/support/transparent_redirect_helper.rb
114
112
  homepage: http://rubygems.org/gems/samurai
@@ -1,178 +0,0 @@
1
- require 'spec_helper'
2
-
3
- describe "generate documentation" do
4
- include ResponseLoggerHelper
5
-
6
- before(:all) do
7
- @logger = ResponseLogger.new(File.open('response_log.html', 'w'))
8
- end
9
- after(:all) do
10
- @logger.close!
11
- end
12
-
13
- before do
14
- @logger.begin_section example.full_description.sub(/generate documentation/, '').titleize
15
-
16
- @params = {
17
- 'redirect_url' => 'http://test.host',
18
- 'merchant_key' => Samurai.merchant_key,
19
- 'custom' => 'custom',
20
- 'credit_card[first_name]' => 'FirstName',
21
- 'credit_card[last_name]' => 'LastName',
22
- 'credit_card[address_1]' => '123 Main St',
23
- 'credit_card[address_2]' => '',
24
- 'credit_card[city]' => 'Chicago',
25
- 'credit_card[state]' => 'IL',
26
- 'credit_card[zip]' => '60610',
27
- 'credit_card[card_number]' => '4222222222222',
28
- 'credit_card[cvv]' => '123',
29
- 'credit_card[expiry_month]' => '05',
30
- 'credit_card[expiry_year]' => '2014',
31
- }
32
-
33
- Samurai::Base.instance_eval do
34
- def connection(refresh = false)
35
- if defined?(@connection) || superclass == ActiveResource::Base
36
- @connection ||= begin
37
- c = HttpProxyConnection.new(site, format)
38
- c.proxy = proxy if proxy
39
- c.user = user if user
40
- c.password = password if password
41
- c.auth_type = auth_type if auth_type
42
- c.timeout = timeout if timeout
43
- c.ssl_options = ssl_options if ssl_options
44
- c
45
- end
46
- else
47
- superclass.connection
48
- end
49
- end
50
- end
51
- Samurai::Base.connection
52
- end
53
-
54
- after do
55
- @logger.end_section
56
- end
57
-
58
- describe 'with an invalid payment method' do
59
- it 'should not create the payment method with missing card_number' do
60
- @params.delete 'credit_card[card_number]'
61
- data = create_payment_method(@params)
62
- log_request_response! data[:request], data[:response]
63
- data[:payment_method_token].should =~ /^[0-9a-z]{24}$/
64
- Samurai::PaymentMethod.find data[:payment_method_token]
65
- log_http!
66
- end
67
-
68
- it 'should create the payment method with invalid card_number format' do
69
- @params['credit_card[card_number]'] = '12345'
70
- data = create_payment_method(@params)
71
- log_request_response! data[:request], data[:response]
72
- data[:payment_method_token].should =~ /^[0-9a-z]{24}$/
73
- Samurai::PaymentMethod.find data[:payment_method_token]
74
- log_http!
75
- end
76
-
77
- it 'should create the payment method with blank cvv' do
78
- @params['credit_card[cvv]'] = ''
79
- data = create_payment_method(@params)
80
- log_request_response! data[:request], data[:response]
81
- data[:payment_method_token].should =~ /^[0-9a-z]{24}$/
82
- Samurai::PaymentMethod.find data[:payment_method_token]
83
- log_http!
84
- end
85
- end
86
-
87
- describe 'with a valid payment method' do
88
- before do
89
- @amount = '1.00' # response code: card number is declined
90
- @data = create_payment_method(@params)
91
- end
92
- it 'should create the payment method' do
93
- log_request_response! @data[:request], @data[:response]
94
- @data[:payment_method_token].should =~ /^[0-9a-z]{24}$/
95
- Samurai::PaymentMethod.find @data[:payment_method_token]
96
- log_http!
97
- end
98
- it 'should create a valid transaction' do
99
- purchase = Samurai::Processor.purchase(@data[:payment_method_token], @amount)
100
- log_http!
101
- purchase.processor_response.success.should be_true
102
- end
103
- end
104
-
105
- describe 'with a declined card' do
106
- before do
107
- @amount = '3.00' # response code: card number is declined
108
- @data = create_payment_method(@params)
109
- end
110
- it 'should create the payment method' do
111
- log_request_response! @data[:request], @data[:response]
112
- @data[:payment_method_token].should =~ /^[0-9a-z]{24}$/
113
- Samurai::PaymentMethod.find @data[:payment_method_token]
114
- log_http!
115
- end
116
- it 'should create a valid transaction' do
117
- purchase = Samurai::Processor.purchase(@data[:payment_method_token], @amount)
118
- log_http!
119
- purchase.processor_response.success.should be_false
120
- end
121
- end
122
-
123
- describe 'with an expired card' do
124
- before do
125
- @amount = '8.00' # response code: card is expired
126
- @data = create_payment_method(@params)
127
- end
128
- it 'should create the payment method' do
129
- log_request_response! @data[:request], @data[:response]
130
- @data[:payment_method_token].should =~ /^[0-9a-z]{24}$/
131
- Samurai::PaymentMethod.find @data[:payment_method_token]
132
- log_http!
133
- end
134
- it 'should create a valid transaction' do
135
- purchase = Samurai::Processor.purchase(@data[:payment_method_token], @amount)
136
- log_http!
137
- purchase.processor_response.success.should be_false
138
- end
139
- end
140
-
141
- describe 'with a card with incorrect cvv' do
142
- before do
143
- @amount = '6.00' # response code: card number is invalid
144
- @data = create_payment_method(@params)
145
- end
146
- it 'should create the payment method' do
147
- log_request_response! @data[:request], @data[:response]
148
- @data[:payment_method_token].should =~ /^[0-9a-z]{24}$/
149
- Samurai::PaymentMethod.find @data[:payment_method_token]
150
- log_http!
151
- end
152
- it 'should create a valid transaction' do
153
- purchase = Samurai::Processor.purchase(@data[:payment_method_token], @amount)
154
- log_http!
155
- purchase.processor_response.success.should be_false
156
- end
157
- end
158
-
159
- describe 'with an nonexistant card' do
160
- before do
161
- @params['credit_card[card_number]'] = '4222222222222'
162
- @amount = '6.00' # response code: card number is invalid
163
- @data = create_payment_method(@params)
164
- end
165
- it 'should create the payment method' do
166
- log_request_response! @data[:request], @data[:response]
167
- @data[:payment_method_token].should =~ /^[0-9a-z]{24}$/
168
- Samurai::PaymentMethod.find @data[:payment_method_token]
169
- log_http!
170
- end
171
- it 'should create a valid transaction' do
172
- purchase = Samurai::Processor.purchase(@data[:payment_method_token], @amount)
173
- log_http!
174
- purchase.processor_response.success.should be_false
175
- end
176
- end
177
-
178
- end
@@ -1,40 +0,0 @@
1
- require 'active_resource/connection'
2
-
3
- class HttpProxy
4
- attr_accessor :request, :response
5
-
6
- def initialize(http, options={})
7
- @http = http
8
- @response = nil
9
- @request = {}
10
- end
11
-
12
- def method_missing(meth, *args, &block)
13
- case meth
14
- when :post, :put
15
- @request = {
16
- :method => meth,
17
- :path => args[0],
18
- :body => args[1],
19
- :headers => args[2],
20
- }
21
- when :get, :delete
22
- @request = {
23
- :method => meth,
24
- :path => args[0],
25
- :headers => args[1],
26
- }
27
- end
28
- @response = @http.send(meth, *args, &block)
29
- end
30
-
31
- def respond_to?(meth)
32
- super || @http.respond_to?(meth)
33
- end
34
- end
35
-
36
- class HttpProxyConnection < ActiveResource::Connection
37
- def http
38
- @http ||= HttpProxy.new(configure_http(new_http))
39
- end
40
- end
@@ -1,71 +0,0 @@
1
- require "erb"
2
-
3
- class ResponseLogger
4
- include ERB::Util
5
-
6
- def initialize(io)
7
- @sections = []
8
- @io = io
9
- @io.puts '<div class="wrapper">'
10
- end
11
-
12
- def close!
13
- @io.puts '</div>'
14
- @sections.each do |section|
15
- @io.puts "<a href='##{section[:id]}'>#{section[:name]}</a><br>"
16
- end
17
- end
18
-
19
- def begin_section(name)
20
- @sections << {:name=>name, :id=>h(name.parameterize)}
21
- @io.puts "<article class='example span-8' id='#{h name.parameterize}'>"
22
- @io.puts " <h3>#{h name}</h3>"
23
- end
24
-
25
- def end_section
26
- @io.puts "</article>"
27
- @io.puts "<hr>"
28
- end
29
-
30
- def log(request, response, options={})
31
- @io.puts ' <div class="code http-request"><em class="lang">HTTP Request</em>'
32
- @io.puts " <pre><strong>#{h request[:method].to_s.upcase} #{h request[:path]}</strong><br>"
33
- @io.puts "Headers: #{h request[:headers].inject({}) {|h, (k,v)| h[k] = (v.is_a?(Array) ? v.first : v); h }}</pre>"
34
- @io.puts ' </div>'
35
- if request[:body]
36
- @io.puts ' <div class="code xml">'
37
- @io.puts ' <em class="lang">XML Payload</em>'
38
- @io.puts " <pre class='prettyprint lang-xml'>#{h request[:body]}</pre>"
39
- @io.puts ' </div>'
40
- end
41
- @io.puts ' <div class="code http-response">'
42
- @io.puts " <em class='lang'>HTTP Response: #{h response.code}</em>"
43
- @io.puts " <pre class='prettyprint lang-xml'><code>#{h response.body}</code></pre>"
44
- @io.puts " </div>"
45
- end
46
-
47
- end
48
-
49
- module ResponseLoggerHelper
50
- def log_http! options={}
51
- @logger.log Samurai::Base.connection.send(:http).request,
52
- Samurai::Base.connection.send(:http).response,
53
- options
54
- end
55
-
56
- def log_request_response! request, response, options={}
57
- def request.[](v)
58
- case v
59
- when :method
60
- return self.method
61
- when :path
62
- return self.path
63
- when :headers
64
- return self.to_hash
65
- else
66
- super
67
- end
68
- end
69
- @logger.log request, response, options
70
- end
71
- end