analytics-psw 0.4.1 → 0.4.2

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: ca3a42f37fcc3dc779d05219d59f26cf1534812c
4
- data.tar.gz: 12424ccb7aa9aa0c1f5fe724737e67e8092378b7
3
+ metadata.gz: 4bf8f2134683aece988ea3f1726661d3d7c556d0
4
+ data.tar.gz: afa99d34d709b1efcc5144aa4cc32452445f2fa5
5
5
  SHA512:
6
- metadata.gz: f5c21a369c15188b7c2a38ac9bd9c0960760e14d6dab2f2f4da0c0057ff03ac02690b72b4f6e73e577fdf10b48b143d0e33d67006c93e7a806aa6f1ec898ef11
7
- data.tar.gz: c6a96c6c1e4b452e17d8e079ae241955ecf6612048cf4c217064c938148fd8ff5cbb38404a7b606a81e5b1324a69885ad8b5c3b51aaeee2945e53571164c256a
6
+ metadata.gz: 22b87c82d55db88f9b3856ab87c49a28248e649bad06c120395438edea07766dcc2473f63ff9f0d7011d892a1643365fc48280ed907a7f57007f2dbc906e8957
7
+ data.tar.gz: e1f5403a0206bace7f8687dbc9512d850a6c1dba8dcf092a65bc04af2c0d58250acfced6f730354afee2ada4a45db55e2615fbe0f3aa7f57b0a61a8ddca5924e
@@ -0,0 +1,58 @@
1
+ require 'benchmark'
2
+
3
+ module AnalyticsPSW::Rack
4
+ class RequestLogger
5
+ include AnalyticsPSW::Rack::RequestLogging
6
+
7
+ def initialize(app)
8
+ @app = app
9
+ end
10
+
11
+ def call(env)
12
+ @status, headers, body = call_with_benchmark do
13
+ @app.call(@env = env)
14
+ end
15
+
16
+ log_request
17
+
18
+ [ @status, headers, body ]
19
+ end
20
+
21
+ private
22
+
23
+ def call_with_benchmark
24
+ value = nil
25
+ @request_time = Benchmark.measure do
26
+ value = yield
27
+ end.real
28
+ value
29
+ end
30
+
31
+ def params
32
+ @env['action_dispatch.request.parameters']
33
+ end
34
+
35
+ def headers
36
+ @env
37
+ end
38
+
39
+ def analytics_service
40
+ @env['request_logging.analytics_service']
41
+ end
42
+
43
+ def log_request_response_params
44
+ {
45
+ 'response_code' => @status,
46
+ 'request_time' => @request_time,
47
+ }
48
+ end
49
+
50
+ def log_request_application_params
51
+ @env['request_logging.application_params'] || {}
52
+ end
53
+
54
+ def request
55
+ Rack::Request.new(@env)
56
+ end
57
+ end
58
+ end
@@ -1,9 +1,5 @@
1
- module AnalyticsPSW::Rails
1
+ module AnalyticsPSW::Rack
2
2
  module RequestLogging
3
- def self.included(base)
4
- base.send(:after_filter, :log_request)
5
- end
6
-
7
3
  protected
8
4
 
9
5
  def log_request
@@ -34,7 +30,7 @@ module AnalyticsPSW::Rails
34
30
 
35
31
  def log_request_header_params
36
32
  log_request_headers.inject({}) do |hsh, k|
37
- hsh[k.downcase] = request.headers[k]
33
+ hsh[k.downcase] = headers[k]
38
34
  hsh
39
35
  end
40
36
  end
@@ -55,14 +51,6 @@ module AnalyticsPSW::Rails
55
51
  response.code
56
52
  end
57
53
 
58
- def log_request_response_params
59
- { 'response_code' => log_request_response_code }
60
- end
61
-
62
- def log_request_application_params
63
- {}
64
- end
65
-
66
54
  def log_request_available_params
67
55
  params
68
56
  .merge(log_request_header_params)
@@ -0,0 +1,9 @@
1
+ if defined?(Rails)
2
+ module AnalyticsPSW
3
+ class Railtie < Rails::Railtie
4
+ initializer "analytics_psw.insert_middleware" do |app|
5
+ app.config.middleware.use "AnalyticsPSW::Rack::RequestLogger"
6
+ end
7
+ end
8
+ end
9
+ end
data/lib/analytics-psw.rb CHANGED
@@ -12,7 +12,9 @@ require 'analytics-psw/dimensions'
12
12
  require 'analytics-psw/customers'
13
13
  require 'analytics-psw/utilities'
14
14
  require 'analytics-psw/recent_events'
15
- require 'analytics-psw/rails/request_logging'
15
+ require 'analytics-psw/railtie'
16
+ require 'analytics-psw/rack/request_logging'
17
+ require 'analytics-psw/rack/request_logger'
16
18
 
17
19
  module AnalyticsPSW
18
20
  class Analytics
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: analytics-psw
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.4.1
4
+ version: 0.4.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Lexmark International Technology S.A
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-05-07 00:00:00.000000000 Z
11
+ date: 2015-05-08 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -152,7 +152,9 @@ files:
152
152
  - lib/analytics-psw/dimensions.rb
153
153
  - lib/analytics-psw/event_types.rb
154
154
  - lib/analytics-psw/events.rb
155
- - lib/analytics-psw/rails/request_logging.rb
155
+ - lib/analytics-psw/rack/request_logger.rb
156
+ - lib/analytics-psw/rack/request_logging.rb
157
+ - lib/analytics-psw/railtie.rb
156
158
  - lib/analytics-psw/recent_events.rb
157
159
  - lib/analytics-psw/reports.rb
158
160
  - lib/analytics-psw/services.rb