Module: MsHeaderTrail
- Defined in:
- lib/ms_header_trail.rb,
lib/ms_header_trail/version.rb,
lib/ms_header_trail/configuration.rb
Overview
This service include the collected information passed into method collect
to be retrieved later where will be used. In rack process, faraday connection
or Bunny process
Defined Under Namespace
Classes: Configuration
Constant Summary collapse
- VERSION =
"0.2.2"
Class Method Summary collapse
-
.collect(attributes) ⇒ Object
Public: Collect the given parameters, which is set by user on start the capture process or during the Rack middleware.
- .configuration ⇒ Object
-
.configure {|configuration| ... } ⇒ Object
Public: Configure the process.
-
.get(key) ⇒ Object
Public: Retrieve the given key.
-
.reset ⇒ Object
Public: Reset values into current thread.
-
.retrieve ⇒ Object
Public: Retrive the stored parameters, which was set by user during the Rack middleware, faraday connection or manually.
-
.set(key, value) ⇒ Object
Public: Set the given key to the given value.
-
.with(attributes) ⇒ Object
Public: Execute a block code after reset and collect data.
Class Method Details
.collect(attributes) ⇒ Object
Public: Collect the given parameters, which is set by user on start the capture process or during the Rack middleware
19 20 21 22 23 |
# File 'lib/ms_header_trail.rb', line 19 def collect(attributes) attributes.each_pair do |key, value| set(configuration.to_store(key), value.to_s) end end |
.configuration ⇒ Object
54 55 56 |
# File 'lib/ms_header_trail.rb', line 54 def configuration @configuration ||= Configuration.new end |
.configure {|configuration| ... } ⇒ Object
Public: Configure the process.
Examples
MsHeaderTrail.configure do |config|
config.prefix_keyname = 'msht-'
end
65 66 67 |
# File 'lib/ms_header_trail.rb', line 65 def configure yield configuration end |
.get(key) ⇒ Object
Public: Retrieve the given key
45 46 47 |
# File 'lib/ms_header_trail.rb', line 45 def get(key) Thread.current[key] end |
.reset ⇒ Object
Public: Reset values into current thread
40 41 42 |
# File 'lib/ms_header_trail.rb', line 40 def reset current_thread_data.each { |key| Thread.current[key] = nil } end |
.retrieve ⇒ Object
Public: Retrive the stored parameters, which was set by user during the Rack middleware, faraday connection or manually
27 28 29 30 |
# File 'lib/ms_header_trail.rb', line 27 def retrieve current_thread_data .each_with_object({}) { |key, memo| memo[configuration.from_store(key)] = get(key) } end |
.set(key, value) ⇒ Object
Public: Set the given key to the given value
50 51 52 |
# File 'lib/ms_header_trail.rb', line 50 def set(key, value) Thread.current[key] = value end |
.with(attributes) ⇒ Object
Public: Execute a block code after reset and collect data
33 34 35 36 37 |
# File 'lib/ms_header_trail.rb', line 33 def with(attributes) reset collect(attributes) yield end |