imprint 1.0.1 → 1.1.0

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.
@@ -8,14 +8,14 @@ module Imprint
8
8
 
9
9
  TRACE_CHARS = [('a'..'z'), ('A'..'Z')].map { |i| i.to_a }.flatten
10
10
 
11
- def self.set_trace_id(id, rails_env, rack_env)
12
- rails_env[TRACER_KEY] = id
11
+ def self.set_trace_id(id, rack_env = {})
12
+ Thread.current[TRACER_KEY] = id
13
+ # setting to the rack_env, gives error tracking support in some systems
13
14
  rack_env[TRACER_KEY] = id
14
15
  end
15
16
 
16
- #this assumes the rails ENV is available at ENV
17
- def self.get_trace_id(rails_env = ENV)
18
- rails_env[TRACER_KEY]
17
+ def self.get_trace_id
18
+ Thread.current[TRACER_KEY]
19
19
  end
20
20
 
21
21
  def self.rand_trace_id
@@ -1,10 +1,10 @@
1
1
  module Imprint
2
2
  class Middleware
3
3
 
4
- def self.set_trace_id(rails_env, rack_env)
4
+ def self.set_request_trace_id(rack_env)
5
5
  existing_id = rack_env[Imprint::Tracer::TRACER_HEADER]
6
6
  existing_id ||= "#{Time.now.to_i}_#{Imprint::Tracer.rand_trace_id}"
7
- Imprint::Tracer.set_trace_id(existing_id, rails_env, rack_env)
7
+ Imprint::Tracer.set_trace_id(existing_id, rack_env)
8
8
  end
9
9
 
10
10
  def initialize(app, opts = {})
@@ -12,7 +12,7 @@ module Imprint
12
12
  end
13
13
 
14
14
  def call(env)
15
- ::Imprint::Middleware.set_trace_id(ENV, env)
15
+ ::Imprint::Middleware.set_request_trace_id(env)
16
16
  @app.call(env)
17
17
  end
18
18
 
@@ -1,3 +1,3 @@
1
1
  module Imprint
2
- VERSION = "1.0.1"
2
+ VERSION = "1.1.0"
3
3
  end
@@ -20,8 +20,8 @@ class MiddlewareTest < Test::Unit::TestCase
20
20
  middleware = Imprint::Middleware.new(fake_app)
21
21
  results = middleware.call(request)
22
22
  assert_equal "/anything.json", results.last
23
- assert_not_nil ::Imprint::Tracer.get_trace_id(ENV)
24
- assert ::Imprint::Tracer.get_trace_id(ENV)!='-1'
23
+ assert_not_nil ::Imprint::Tracer.get_trace_id
24
+ assert ::Imprint::Tracer.get_trace_id!='-1'
25
25
  end
26
26
 
27
27
  private
@@ -4,12 +4,14 @@ class TracerTest < Test::Unit::TestCase
4
4
 
5
5
  should "set trace id" do
6
6
  fake_trace = "tracer"
7
- Imprint::Tracer.set_trace_id(fake_trace, ENV, {})
8
- assert_equal fake_trace, Imprint::Tracer.get_trace_id(ENV)
7
+ Imprint::Tracer.set_trace_id(fake_trace, fake_rack_env)
8
+ assert_equal fake_trace, Imprint::Tracer.get_trace_id
9
9
  end
10
10
 
11
11
  should "get trace id defaults" do
12
- assert_not_nil Imprint::Tracer.get_trace_id(ENV)
12
+ assert_not_nil Imprint::Tracer.get_trace_id
13
+ Imprint::Tracer.set_trace_id(nil, fake_rack_env)
14
+ assert_equal nil, Imprint::Tracer.get_trace_id
13
15
  end
14
16
 
15
17
  should "generate rand trace id" do
@@ -19,4 +21,10 @@ class TracerTest < Test::Unit::TestCase
19
21
  assert trace_id.match(/[A-Za-z]/)
20
22
  end
21
23
 
24
+ protected
25
+
26
+ def fake_rack_env
27
+ {}
28
+ end
29
+
22
30
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: imprint
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.1
4
+ version: 1.1.0
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2014-04-05 00:00:00.000000000 Z
12
+ date: 2014-04-06 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: bundler
@@ -144,7 +144,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
144
144
  version: '0'
145
145
  segments:
146
146
  - 0
147
- hash: 2134087639551202536
147
+ hash: -3002848166108194027
148
148
  required_rubygems_version: !ruby/object:Gem::Requirement
149
149
  none: false
150
150
  requirements:
@@ -153,7 +153,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
153
153
  version: '0'
154
154
  segments:
155
155
  - 0
156
- hash: 2134087639551202536
156
+ hash: -3002848166108194027
157
157
  requirements: []
158
158
  rubyforge_project:
159
159
  rubygems_version: 1.8.23