marlowe 2.0 → 2.1
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 +5 -5
- data/History.md +20 -15
- data/Rakefile +36 -43
- data/lib/marlowe/formatter.rb +1 -1
- data/lib/marlowe/middleware.rb +12 -12
- data/lib/marlowe/rails.rb +1 -1
- data/lib/marlowe/simple_formatter.rb +1 -2
- data/lib/marlowe.rb +5 -5
- data/test/minitest_config.rb +7 -7
- data/test/test_marlowe.rb +46 -46
- metadata +34 -44
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: 942139256c91a7b04a4549271e176b8dab519dd566df088dc818198e8d285065
|
4
|
+
data.tar.gz: 00a699c0d9ce21ada8c453ea638a0f972f64307e7572be8aa3dca7629922f598
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 6dfa8bd46ddc990b643db1d01925da2a694fba37466c4dfacaab2dd36c776aa8f6f26e8fa64b5e35f5e52d91095e8ad1cf368a382f5c2188defc62596be1a63d
|
7
|
+
data.tar.gz: ee94d6e57c9dc02ae7690977281dc9a62051465ef45330474aac3e2284f68d438099409736a32806ecff61da2f9191d8eaf9869300f48e6464c943ee6caf608a
|
data/History.md
CHANGED
@@ -1,31 +1,36 @@
|
|
1
|
+
### 2.1 / 2021-09-08
|
2
|
+
|
3
|
+
- Allow the use of Ruby 3.
|
4
|
+
- Switch to standardruby instead of rubocop.
|
5
|
+
- Switch from Travis to Github Actions.
|
6
|
+
|
1
7
|
### 2.0 / 2016-11-16
|
2
8
|
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
* Marlowe is more configurable now.
|
9
|
+
- Breaking change: the correlation header defaults to `X-Request-Id` instead of
|
10
|
+
`Correlation-Id`.
|
11
|
+
- Breaking change: by default, the `correlation_id` is sanitized in the same
|
12
|
+
way as `ActionDispatch::RequestId` when provided from an upstream source (only
|
13
|
+
alphanumerics with dashes up to 255 characters in length).
|
14
|
+
- Breaking change: by default, the `correlation_id` is returned to the client as
|
15
|
+
part of the response.
|
16
|
+
- Marlowe is more configurable now.
|
12
17
|
|
13
18
|
### 1.0.3 / 2016-01-15
|
14
19
|
|
15
|
-
|
16
|
-
|
20
|
+
- Update Readme example of using available formatted subclass.
|
21
|
+
- Make the correlation header name configurable
|
17
22
|
|
18
23
|
### 1.0.2 / 2015-11-24
|
19
24
|
|
20
|
-
|
25
|
+
- Add documentation for using Marlowe with [lograge][].
|
21
26
|
|
22
27
|
### 1.0.1 / 2015-10-20
|
23
28
|
|
24
|
-
|
25
|
-
|
29
|
+
- Update gemspec with homepage
|
30
|
+
- Update Rakefile
|
26
31
|
|
27
32
|
### 1.0.0 / 2015-10-16
|
28
33
|
|
29
|
-
|
34
|
+
- Initial Commit
|
30
35
|
|
31
36
|
[lograge]: https://github.com/roidrage/lograge
|
data/Rakefile
CHANGED
@@ -1,75 +1,68 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
-
require
|
4
|
-
require
|
5
|
-
require
|
3
|
+
require "rubygems"
|
4
|
+
require "hoe"
|
5
|
+
require "rake/clean"
|
6
6
|
|
7
7
|
Hoe.plugin :doofus
|
8
|
-
Hoe.plugin :email unless ENV[
|
8
|
+
Hoe.plugin :email unless ENV["CI"]
|
9
9
|
Hoe.plugin :gemspec2
|
10
10
|
Hoe.plugin :git
|
11
11
|
Hoe.plugin :minitest
|
12
12
|
Hoe.plugin :rubygems
|
13
|
-
Hoe.plugin :travis
|
14
13
|
|
15
|
-
spec = Hoe.spec
|
16
|
-
developer(
|
17
|
-
developer(
|
14
|
+
spec = Hoe.spec "marlowe" do
|
15
|
+
developer("Trevor Oke", "toke@kineticcafe.com")
|
16
|
+
developer("Kinetic Cafe", "dev@kineticcafe.com")
|
18
17
|
|
19
|
-
self.history_file =
|
20
|
-
self.readme_file =
|
18
|
+
self.history_file = "History.md"
|
19
|
+
self.readme_file = "README.rdoc"
|
21
20
|
|
22
|
-
license
|
21
|
+
license "MIT"
|
23
22
|
|
24
|
-
|
23
|
+
require_ruby_version ">= 2.0", "< 4"
|
25
24
|
|
26
|
-
extra_deps << [
|
27
|
-
extra_deps << [
|
25
|
+
extra_deps << ["request_store", "~> 1.2"]
|
26
|
+
extra_deps << ["rack", ">= 0.9", "< 3"]
|
28
27
|
|
29
|
-
extra_dev_deps << [
|
30
|
-
extra_dev_deps << [
|
31
|
-
extra_dev_deps << [
|
32
|
-
extra_dev_deps << [
|
33
|
-
extra_dev_deps << [
|
34
|
-
extra_dev_deps << [
|
35
|
-
extra_dev_deps << [
|
36
|
-
extra_dev_deps << [
|
37
|
-
extra_dev_deps << [
|
38
|
-
extra_dev_deps << [
|
39
|
-
extra_dev_deps << [
|
40
|
-
extra_dev_deps << [
|
41
|
-
extra_dev_deps << [
|
42
|
-
extra_dev_deps << [
|
43
|
-
extra_dev_deps << [
|
44
|
-
extra_dev_deps << [
|
45
|
-
extra_dev_deps << ['simplecov', '~> 0.7']
|
28
|
+
extra_dev_deps << ["appraisal", "~> 2.1"]
|
29
|
+
extra_dev_deps << ["hoe-doofus", "~> 1.0"]
|
30
|
+
extra_dev_deps << ["hoe-gemspec2", "~> 1.1"]
|
31
|
+
extra_dev_deps << ["hoe-git", "~> 1.6"]
|
32
|
+
extra_dev_deps << ["hoe-rubygems", "~> 1.0"]
|
33
|
+
extra_dev_deps << ["minitest", "~> 5.4"]
|
34
|
+
extra_dev_deps << ["minitest-autotest", "~> 1.0"]
|
35
|
+
extra_dev_deps << ["minitest-bonus-assertions", "~> 3.0"]
|
36
|
+
extra_dev_deps << ["minitest-focus", "~> 1.1"]
|
37
|
+
extra_dev_deps << ["minitest-moar", "~> 0.0"]
|
38
|
+
extra_dev_deps << ["rack-test", "~> 1.0"]
|
39
|
+
extra_dev_deps << ["rake", ">= 10.0", "< 14"]
|
40
|
+
extra_dev_deps << ["rdoc", ">= 4.2"]
|
41
|
+
extra_dev_deps << ["standard", "~> 1.0"]
|
42
|
+
extra_dev_deps << ["simplecov", "~> 0.21"]
|
43
|
+
extra_dev_deps << ["psych", "~> 3.1"]
|
46
44
|
end
|
47
45
|
|
48
|
-
ENV[
|
46
|
+
ENV["RUBYOPT"] = "-W0"
|
49
47
|
|
50
48
|
module Hoe::Publish #:nodoc:
|
51
|
-
|
49
|
+
alias_method :__make_rdoc_cmd__marlowe__, :make_rdoc_cmd
|
52
50
|
|
53
51
|
def make_rdoc_cmd(*extra_args) # :nodoc:
|
54
|
-
spec.extra_rdoc_files.reject! { |f| f ==
|
52
|
+
spec.extra_rdoc_files.reject! { |f| f == "Manifest.txt" }
|
55
53
|
__make_rdoc_cmd__marlowe__(*extra_args)
|
56
54
|
end
|
57
55
|
end
|
58
56
|
|
59
|
-
if File.exist?(
|
57
|
+
if File.exist?(".simplecov-prelude.rb")
|
60
58
|
namespace :test do
|
61
59
|
task :coverage do
|
62
60
|
spec.test_prelude = 'load ".simplecov-prelude.rb"'
|
63
|
-
Rake::Task[
|
61
|
+
Rake::Task["test"].execute
|
64
62
|
end
|
65
63
|
|
66
|
-
|
67
|
-
ENV['coveralls'] = '1'
|
68
|
-
Rake::Task['test:coverage'].execute
|
69
|
-
end
|
70
|
-
|
71
|
-
CLOBBER << 'coverage'
|
64
|
+
CLOBBER << "coverage"
|
72
65
|
end
|
73
66
|
end
|
74
67
|
|
75
|
-
CLOBBER <<
|
68
|
+
CLOBBER << "tmp"
|
data/lib/marlowe/formatter.rb
CHANGED
data/lib/marlowe/middleware.rb
CHANGED
@@ -1,8 +1,8 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
-
require
|
4
|
-
require
|
5
|
-
require
|
3
|
+
require "rack"
|
4
|
+
require "request_store"
|
5
|
+
require "securerandom"
|
6
6
|
|
7
7
|
module Marlowe
|
8
8
|
# Marlowe correlation id middleware. Including this into your middleware
|
@@ -10,7 +10,7 @@ module Marlowe
|
|
10
10
|
# that id in a request session variable.
|
11
11
|
class Middleware
|
12
12
|
# The name of the default header to look for and put the correlation id in.
|
13
|
-
CORRELATION_HEADER =
|
13
|
+
CORRELATION_HEADER = "X-Request-Id" #:nodoc:
|
14
14
|
|
15
15
|
# Configure the Marlowe middleware to call +app+ with options +opts+.
|
16
16
|
#
|
@@ -55,10 +55,10 @@ module Marlowe
|
|
55
55
|
@app.call(env).tap { |_status, headers, _body|
|
56
56
|
if @return
|
57
57
|
headers[@header] = if @action_dispatch
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
58
|
+
req.request_id
|
59
|
+
else
|
60
|
+
RequestStore.store[:correlation_id]
|
61
|
+
end
|
62
62
|
end
|
63
63
|
}
|
64
64
|
end
|
@@ -67,15 +67,15 @@ module Marlowe
|
|
67
67
|
|
68
68
|
def format_header_name(header)
|
69
69
|
[
|
70
|
-
header.to_s.tr(
|
71
|
-
"HTTP_#{header.to_s.tr(
|
70
|
+
header.to_s.tr("_", "-").freeze,
|
71
|
+
"HTTP_#{header.to_s.tr("-", "_").upcase}"
|
72
72
|
]
|
73
73
|
end
|
74
74
|
|
75
75
|
def make_request_id(request_id)
|
76
76
|
if @handler == :simple
|
77
77
|
simple(request_id)
|
78
|
-
elsif @handler.
|
78
|
+
elsif @handler.is_a?(Proc)
|
79
79
|
simple(@handler.call(request_id))
|
80
80
|
else
|
81
81
|
clean(request_id)
|
@@ -83,7 +83,7 @@ module Marlowe
|
|
83
83
|
end
|
84
84
|
|
85
85
|
def clean(request_id)
|
86
|
-
simple(request_id).gsub(/[^\w\-]/,
|
86
|
+
simple(request_id).gsub(/[^\w\-]/, "")[0, 255]
|
87
87
|
end
|
88
88
|
|
89
89
|
def simple(request_id)
|
data/lib/marlowe/rails.rb
CHANGED
@@ -1,11 +1,10 @@
|
|
1
|
-
require
|
1
|
+
require "request_store"
|
2
2
|
|
3
3
|
module Marlowe
|
4
4
|
# Marlowe::SimpleFormatter is a subclass of
|
5
5
|
# +ActiveSupport::Logger::SimpleFormatter+ that adds a correlation id
|
6
6
|
# string to a rails log.
|
7
7
|
class SimpleFormatter < ActiveSupport::Logger::SimpleFormatter
|
8
|
-
|
9
8
|
# Overrides the formatter return to add the correlation id.
|
10
9
|
def call(severity, timestamp, progname, msg)
|
11
10
|
"[#{RequestStore.store[:correlation_id]}] #{super}"
|
data/lib/marlowe.rb
CHANGED
@@ -2,11 +2,11 @@
|
|
2
2
|
|
3
3
|
# Marlowe, a correlation id injector.
|
4
4
|
module Marlowe
|
5
|
-
VERSION =
|
5
|
+
VERSION = "2.1" #:nodoc:
|
6
6
|
|
7
|
-
require
|
8
|
-
require
|
7
|
+
require "marlowe/middleware"
|
8
|
+
require "marlowe/rails" if defined? Rails::Railtie
|
9
9
|
|
10
|
-
autoload :Formatter,
|
11
|
-
autoload :SimpleFormatter,
|
10
|
+
autoload :Formatter, "marlowe/formatter"
|
11
|
+
autoload :SimpleFormatter, "marlowe/simple_formatter"
|
12
12
|
end
|
data/test/minitest_config.rb
CHANGED
@@ -1,11 +1,11 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
-
gem
|
3
|
+
gem "minitest"
|
4
4
|
|
5
|
-
require
|
6
|
-
require
|
7
|
-
require
|
8
|
-
require
|
9
|
-
require
|
5
|
+
require "rack/test"
|
6
|
+
require "rack/mock"
|
7
|
+
require "minitest/autorun"
|
8
|
+
require "minitest/focus"
|
9
|
+
require "minitest/moar"
|
10
10
|
|
11
|
-
require
|
11
|
+
require "marlowe"
|
data/test/test_marlowe.rb
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
-
require
|
3
|
+
require "minitest_config"
|
4
4
|
|
5
5
|
class TestMarlowe < Minitest::Test
|
6
6
|
include Rack::Test::Methods
|
@@ -19,84 +19,84 @@ class TestMarlowe < Minitest::Test
|
|
19
19
|
run lambda { |_env|
|
20
20
|
[
|
21
21
|
200,
|
22
|
-
{
|
23
|
-
[
|
22
|
+
{"Content-Type" => "text/plain"},
|
23
|
+
[RequestStore[:correlation_id]]
|
24
24
|
]
|
25
25
|
}
|
26
26
|
end
|
27
27
|
end
|
28
28
|
|
29
29
|
def test_default_config_no_header_value
|
30
|
-
get
|
31
|
-
assert last_response.header.key?(
|
32
|
-
refute_empty last_response.header[
|
33
|
-
assert_equal last_response.header[
|
30
|
+
get "/"
|
31
|
+
assert last_response.header.key?("X-Request-Id")
|
32
|
+
refute_empty last_response.header["X-Request-Id"]
|
33
|
+
assert_equal last_response.header["X-Request-Id"], last_response.body
|
34
34
|
end
|
35
35
|
|
36
36
|
def test_default_config_with_header_value
|
37
|
-
get
|
38
|
-
assert last_response.header.key?(
|
39
|
-
refute_empty last_response.header[
|
40
|
-
assert_equal last_response.header[
|
41
|
-
assert_equal
|
37
|
+
get "/", {}, {"HTTP_X_REQUEST_ID" => "testvalue"}
|
38
|
+
assert last_response.header.key?("X-Request-Id")
|
39
|
+
refute_empty last_response.header["X-Request-Id"]
|
40
|
+
assert_equal last_response.header["X-Request-Id"], last_response.body
|
41
|
+
assert_equal "testvalue", last_response.header["X-Request-Id"]
|
42
42
|
end
|
43
43
|
|
44
44
|
def test_header_config_no_header_value
|
45
|
-
marlowe_options[:header] =
|
46
|
-
get
|
47
|
-
assert last_response.header.key?(
|
48
|
-
refute_empty last_response.header[
|
49
|
-
assert_equal last_response.header[
|
45
|
+
marlowe_options[:header] = "Correlation-Id"
|
46
|
+
get "/"
|
47
|
+
assert last_response.header.key?("Correlation-Id")
|
48
|
+
refute_empty last_response.header["Correlation-Id"]
|
49
|
+
assert_equal last_response.header["Correlation-Id"], last_response.body
|
50
50
|
end
|
51
51
|
|
52
52
|
def test_header_config_no_header_with_header_value
|
53
|
-
marlowe_options[:header] =
|
54
|
-
get
|
55
|
-
assert last_response.header.key?(
|
56
|
-
refute_empty last_response.header[
|
57
|
-
assert_equal last_response.header[
|
58
|
-
assert_equal
|
53
|
+
marlowe_options[:header] = "Correlation-Id"
|
54
|
+
get "/", {}, {"HTTP_CORRELATION_ID" => "testvalue"}
|
55
|
+
assert last_response.header.key?("Correlation-Id")
|
56
|
+
refute_empty last_response.header["Correlation-Id"]
|
57
|
+
assert_equal last_response.header["Correlation-Id"], last_response.body
|
58
|
+
assert_equal "testvalue", last_response.header["Correlation-Id"]
|
59
59
|
end
|
60
60
|
|
61
61
|
def test_handler_config_default_handler
|
62
|
-
get
|
63
|
-
assert last_response.header.key?(
|
64
|
-
refute_empty last_response.header[
|
65
|
-
assert_equal last_response.header[
|
66
|
-
assert_equal
|
62
|
+
get "/", {}, {"HTTP_X_REQUEST_ID" => "test+value"}
|
63
|
+
assert last_response.header.key?("X-Request-Id")
|
64
|
+
refute_empty last_response.header["X-Request-Id"]
|
65
|
+
assert_equal last_response.header["X-Request-Id"], last_response.body
|
66
|
+
assert_equal "testvalue", last_response.header["X-Request-Id"]
|
67
67
|
end
|
68
68
|
|
69
69
|
def test_handler_config_with_simple_handler
|
70
70
|
marlowe_options[:handler] = :simple
|
71
|
-
get
|
72
|
-
assert last_response.header.key?(
|
73
|
-
refute_empty last_response.header[
|
74
|
-
assert_equal last_response.header[
|
75
|
-
assert_equal
|
71
|
+
get "/", {}, {"HTTP_X_REQUEST_ID" => "test+value"}
|
72
|
+
assert last_response.header.key?("X-Request-Id")
|
73
|
+
refute_empty last_response.header["X-Request-Id"]
|
74
|
+
assert_equal last_response.header["X-Request-Id"], last_response.body
|
75
|
+
assert_equal "test+value", last_response.header["X-Request-Id"]
|
76
76
|
end
|
77
77
|
|
78
78
|
def test_handler_config_with_proc_handler
|
79
79
|
marlowe_options[:handler] = ->(item) { item && item.reverse || SecureRandom.uuid }
|
80
|
-
get
|
81
|
-
assert last_response.header.key?(
|
82
|
-
refute_empty last_response.header[
|
83
|
-
assert_equal last_response.header[
|
84
|
-
assert_equal
|
80
|
+
get "/", {}, {"HTTP_X_REQUEST_ID" => "test+value"}
|
81
|
+
assert last_response.header.key?("X-Request-Id")
|
82
|
+
refute_empty last_response.header["X-Request-Id"]
|
83
|
+
assert_equal last_response.header["X-Request-Id"], last_response.body
|
84
|
+
assert_equal "eulav+tset", last_response.header["X-Request-Id"]
|
85
85
|
end
|
86
86
|
|
87
87
|
def test_handler_config_with_proc_handler_returning_nil
|
88
|
-
marlowe_options[:handler] = ->(item) {
|
89
|
-
get
|
90
|
-
assert last_response.header.key?(
|
91
|
-
refute_empty last_response.header[
|
92
|
-
assert_equal last_response.header[
|
93
|
-
assert_match(/\A[-\w]+\z/, last_response.header[
|
88
|
+
marlowe_options[:handler] = ->(item) {}
|
89
|
+
get "/", {}, {"HTTP_X_REQUEST_ID" => "test+value"}
|
90
|
+
assert last_response.header.key?("X-Request-Id")
|
91
|
+
refute_empty last_response.header["X-Request-Id"]
|
92
|
+
assert_equal last_response.header["X-Request-Id"], last_response.body
|
93
|
+
assert_match(/\A[-\w]+\z/, last_response.header["X-Request-Id"])
|
94
94
|
end
|
95
95
|
|
96
96
|
def test_return_config_false
|
97
97
|
marlowe_options[:return] = false
|
98
|
-
get
|
99
|
-
refute last_response.header.key?(
|
98
|
+
get "/"
|
99
|
+
refute last_response.header.key?("X-Request-Id")
|
100
100
|
assert_equal RequestStore[:correlation_id], last_response.body
|
101
101
|
end
|
102
102
|
end
|
metadata
CHANGED
@@ -1,15 +1,15 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: marlowe
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: '2.
|
4
|
+
version: '2.1'
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Trevor Oke
|
8
8
|
- Kinetic Cafe
|
9
|
-
autorequire:
|
9
|
+
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date:
|
12
|
+
date: 2021-09-09 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: request_store
|
@@ -51,14 +51,14 @@ dependencies:
|
|
51
51
|
requirements:
|
52
52
|
- - "~>"
|
53
53
|
- !ruby/object:Gem::Version
|
54
|
-
version: '5.
|
54
|
+
version: '5.14'
|
55
55
|
type: :development
|
56
56
|
prerelease: false
|
57
57
|
version_requirements: !ruby/object:Gem::Requirement
|
58
58
|
requirements:
|
59
59
|
- - "~>"
|
60
60
|
- !ruby/object:Gem::Version
|
61
|
-
version: '5.
|
61
|
+
version: '5.14'
|
62
62
|
- !ruby/object:Gem::Dependency
|
63
63
|
name: appraisal
|
64
64
|
requirement: !ruby/object:Gem::Requirement
|
@@ -129,20 +129,6 @@ dependencies:
|
|
129
129
|
- - "~>"
|
130
130
|
- !ruby/object:Gem::Version
|
131
131
|
version: '1.0'
|
132
|
-
- !ruby/object:Gem::Dependency
|
133
|
-
name: hoe-travis
|
134
|
-
requirement: !ruby/object:Gem::Requirement
|
135
|
-
requirements:
|
136
|
-
- - "~>"
|
137
|
-
- !ruby/object:Gem::Version
|
138
|
-
version: '1.2'
|
139
|
-
type: :development
|
140
|
-
prerelease: false
|
141
|
-
version_requirements: !ruby/object:Gem::Requirement
|
142
|
-
requirements:
|
143
|
-
- - "~>"
|
144
|
-
- !ruby/object:Gem::Version
|
145
|
-
version: '1.2'
|
146
132
|
- !ruby/object:Gem::Dependency
|
147
133
|
name: minitest-autotest
|
148
134
|
requirement: !ruby/object:Gem::Requirement
|
@@ -163,14 +149,14 @@ dependencies:
|
|
163
149
|
requirements:
|
164
150
|
- - "~>"
|
165
151
|
- !ruby/object:Gem::Version
|
166
|
-
version: '
|
152
|
+
version: '3.0'
|
167
153
|
type: :development
|
168
154
|
prerelease: false
|
169
155
|
version_requirements: !ruby/object:Gem::Requirement
|
170
156
|
requirements:
|
171
157
|
- - "~>"
|
172
158
|
- !ruby/object:Gem::Version
|
173
|
-
version: '
|
159
|
+
version: '3.0'
|
174
160
|
- !ruby/object:Gem::Dependency
|
175
161
|
name: minitest-focus
|
176
162
|
requirement: !ruby/object:Gem::Requirement
|
@@ -205,14 +191,14 @@ dependencies:
|
|
205
191
|
requirements:
|
206
192
|
- - "~>"
|
207
193
|
- !ruby/object:Gem::Version
|
208
|
-
version: '0
|
194
|
+
version: '1.0'
|
209
195
|
type: :development
|
210
196
|
prerelease: false
|
211
197
|
version_requirements: !ruby/object:Gem::Requirement
|
212
198
|
requirements:
|
213
199
|
- - "~>"
|
214
200
|
- !ruby/object:Gem::Version
|
215
|
-
version: '0
|
201
|
+
version: '1.0'
|
216
202
|
- !ruby/object:Gem::Dependency
|
217
203
|
name: rake
|
218
204
|
requirement: !ruby/object:Gem::Requirement
|
@@ -222,7 +208,7 @@ dependencies:
|
|
222
208
|
version: '10.0'
|
223
209
|
- - "<"
|
224
210
|
- !ruby/object:Gem::Version
|
225
|
-
version: '
|
211
|
+
version: '14'
|
226
212
|
type: :development
|
227
213
|
prerelease: false
|
228
214
|
version_requirements: !ruby/object:Gem::Requirement
|
@@ -232,77 +218,77 @@ dependencies:
|
|
232
218
|
version: '10.0'
|
233
219
|
- - "<"
|
234
220
|
- !ruby/object:Gem::Version
|
235
|
-
version: '
|
221
|
+
version: '14'
|
236
222
|
- !ruby/object:Gem::Dependency
|
237
223
|
name: rdoc
|
238
224
|
requirement: !ruby/object:Gem::Requirement
|
239
225
|
requirements:
|
240
|
-
- - "
|
226
|
+
- - ">="
|
241
227
|
- !ruby/object:Gem::Version
|
242
228
|
version: '4.2'
|
243
229
|
type: :development
|
244
230
|
prerelease: false
|
245
231
|
version_requirements: !ruby/object:Gem::Requirement
|
246
232
|
requirements:
|
247
|
-
- - "
|
233
|
+
- - ">="
|
248
234
|
- !ruby/object:Gem::Version
|
249
235
|
version: '4.2'
|
250
236
|
- !ruby/object:Gem::Dependency
|
251
|
-
name:
|
237
|
+
name: standard
|
252
238
|
requirement: !ruby/object:Gem::Requirement
|
253
239
|
requirements:
|
254
240
|
- - "~>"
|
255
241
|
- !ruby/object:Gem::Version
|
256
|
-
version: '0
|
242
|
+
version: '1.0'
|
257
243
|
type: :development
|
258
244
|
prerelease: false
|
259
245
|
version_requirements: !ruby/object:Gem::Requirement
|
260
246
|
requirements:
|
261
247
|
- - "~>"
|
262
248
|
- !ruby/object:Gem::Version
|
263
|
-
version: '0
|
249
|
+
version: '1.0'
|
264
250
|
- !ruby/object:Gem::Dependency
|
265
|
-
name:
|
251
|
+
name: simplecov
|
266
252
|
requirement: !ruby/object:Gem::Requirement
|
267
253
|
requirements:
|
268
254
|
- - "~>"
|
269
255
|
- !ruby/object:Gem::Version
|
270
|
-
version: '0.
|
256
|
+
version: '0.21'
|
271
257
|
type: :development
|
272
258
|
prerelease: false
|
273
259
|
version_requirements: !ruby/object:Gem::Requirement
|
274
260
|
requirements:
|
275
261
|
- - "~>"
|
276
262
|
- !ruby/object:Gem::Version
|
277
|
-
version: '0.
|
263
|
+
version: '0.21'
|
278
264
|
- !ruby/object:Gem::Dependency
|
279
|
-
name:
|
265
|
+
name: psych
|
280
266
|
requirement: !ruby/object:Gem::Requirement
|
281
267
|
requirements:
|
282
268
|
- - "~>"
|
283
269
|
- !ruby/object:Gem::Version
|
284
|
-
version: '
|
270
|
+
version: '3.1'
|
285
271
|
type: :development
|
286
272
|
prerelease: false
|
287
273
|
version_requirements: !ruby/object:Gem::Requirement
|
288
274
|
requirements:
|
289
275
|
- - "~>"
|
290
276
|
- !ruby/object:Gem::Version
|
291
|
-
version: '
|
277
|
+
version: '3.1'
|
292
278
|
- !ruby/object:Gem::Dependency
|
293
279
|
name: hoe
|
294
280
|
requirement: !ruby/object:Gem::Requirement
|
295
281
|
requirements:
|
296
282
|
- - "~>"
|
297
283
|
- !ruby/object:Gem::Version
|
298
|
-
version: '3.
|
284
|
+
version: '3.23'
|
299
285
|
type: :development
|
300
286
|
prerelease: false
|
301
287
|
version_requirements: !ruby/object:Gem::Requirement
|
302
288
|
requirements:
|
303
289
|
- - "~>"
|
304
290
|
- !ruby/object:Gem::Version
|
305
|
-
version: '3.
|
291
|
+
version: '3.23'
|
306
292
|
description: |-
|
307
293
|
{Marlowe}[https://github.com/KineticCafe/marlowe] is a Rack middleware that
|
308
294
|
extracts or creates a request ID using a pre-defined header, permitting request
|
@@ -338,8 +324,10 @@ files:
|
|
338
324
|
homepage: https://github.com/KineticCafe/marlowe/
|
339
325
|
licenses:
|
340
326
|
- MIT
|
341
|
-
metadata:
|
342
|
-
|
327
|
+
metadata:
|
328
|
+
source_code_uri: https://github.com/KineticCafe/marlowe/
|
329
|
+
documentation_uri: http://www.rubydoc.info/github/KineticCafe/marlowe/master
|
330
|
+
post_install_message:
|
343
331
|
rdoc_options:
|
344
332
|
- "--main"
|
345
333
|
- README.rdoc
|
@@ -347,18 +335,20 @@ require_paths:
|
|
347
335
|
- lib
|
348
336
|
required_ruby_version: !ruby/object:Gem::Requirement
|
349
337
|
requirements:
|
350
|
-
- - "
|
338
|
+
- - ">="
|
351
339
|
- !ruby/object:Gem::Version
|
352
340
|
version: '2.0'
|
341
|
+
- - "<"
|
342
|
+
- !ruby/object:Gem::Version
|
343
|
+
version: '4'
|
353
344
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
354
345
|
requirements:
|
355
346
|
- - ">="
|
356
347
|
- !ruby/object:Gem::Version
|
357
348
|
version: '0'
|
358
349
|
requirements: []
|
359
|
-
|
360
|
-
|
361
|
-
signing_key:
|
350
|
+
rubygems_version: 3.1.6
|
351
|
+
signing_key:
|
362
352
|
specification_version: 4
|
363
353
|
summary: "{Marlowe}[https://github.com/KineticCafe/marlowe] is a Rack middleware that
|
364
354
|
extracts or creates a request ID using a pre-defined header, permitting request
|