pliny 1.1.0 → 2.0.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.
- checksums.yaml +4 -4
- data/bin/pliny-generate +2 -1
- data/bin/pliny-new +2 -1
- data/bin/pliny-update +2 -1
- data/lib/pliny/canonical_log_line_helpers.rb +2 -0
- data/lib/pliny/commands/creator.rb +13 -12
- data/lib/pliny/commands/generator/base.rb +11 -9
- data/lib/pliny/commands/generator/endpoint.rb +19 -17
- data/lib/pliny/commands/generator/mediator.rb +7 -5
- data/lib/pliny/commands/generator/migration.rb +4 -2
- data/lib/pliny/commands/generator/model.rb +11 -9
- data/lib/pliny/commands/generator/schema.rb +4 -2
- data/lib/pliny/commands/generator/serializer.rb +7 -5
- data/lib/pliny/commands/generator.rb +19 -17
- data/lib/pliny/commands/updater.rb +5 -3
- data/lib/pliny/config_helpers.rb +10 -35
- data/lib/pliny/db_support.rb +21 -21
- data/lib/pliny/error_reporters/rollbar.rb +5 -3
- data/lib/pliny/error_reporters/sentry.rb +40 -0
- data/lib/pliny/error_reporters.rb +5 -5
- data/lib/pliny/errors.rb +47 -45
- data/lib/pliny/helpers/encode.rb +8 -2
- data/lib/pliny/helpers/params.rb +4 -2
- data/lib/pliny/helpers/serialize.rb +6 -4
- data/lib/pliny/helpers/zulu_time.rb +3 -1
- data/lib/pliny/log.rb +26 -25
- data/lib/pliny/metrics/backends/logger.rb +5 -3
- data/lib/pliny/metrics.rb +4 -2
- data/lib/pliny/middleware/canonical_log_line.rb +5 -3
- data/lib/pliny/middleware/cors.rb +13 -12
- data/lib/pliny/middleware/instruments.rb +9 -7
- data/lib/pliny/middleware/metrics.rb +3 -1
- data/lib/pliny/middleware/request_id.rb +4 -2
- data/lib/pliny/middleware/request_store/clear.rb +3 -1
- data/lib/pliny/middleware/request_store/seed.rb +3 -1
- data/lib/pliny/middleware/rescue_errors.rb +2 -0
- data/lib/pliny/middleware/versioning.rb +11 -11
- data/lib/pliny/request_store.rb +4 -2
- data/lib/pliny/rollbar_logger.rb +6 -4
- data/lib/pliny/router.rb +3 -2
- data/lib/pliny/tasks/db.rake +3 -1
- data/lib/pliny/tasks/schema.rake +3 -1
- data/lib/pliny/tasks.rb +2 -0
- data/lib/pliny/templates/endpoint_acceptance_test.erb +2 -2
- data/lib/pliny/templates/endpoint_scaffold_acceptance_test.erb +2 -2
- data/lib/pliny/utils.rb +4 -2
- data/lib/pliny/version.rb +3 -1
- data/lib/pliny.rb +3 -1
- data/lib/template/{.rubocop.yml → .rubocop_template.yml} +1 -5
- data/lib/template/Gemfile +7 -6
- data/lib/template/Rakefile +1 -0
- data/lib/template/bin/console +2 -1
- data/lib/template/bin/run +4 -1
- data/lib/template/config/config.rb +18 -16
- data/lib/template/config/initializers/database.rb +4 -2
- data/lib/template/config/initializers/log.rb +2 -0
- data/lib/template/config/initializers/metrics.rb +2 -0
- data/lib/template/config/initializers/sentry.rb +14 -0
- data/lib/template/config/puma.rb +3 -1
- data/lib/template/config.ru +2 -0
- data/lib/template/db/seeds.rb +2 -0
- data/lib/template/lib/application.rb +2 -0
- data/lib/template/lib/endpoints/base.rb +2 -0
- data/lib/template/lib/endpoints/health.rb +2 -0
- data/lib/template/lib/endpoints/root.rb +2 -0
- data/lib/template/lib/endpoints/schema.rb +2 -0
- data/lib/template/lib/initializer.rb +6 -4
- data/lib/template/lib/mediators/base.rb +2 -0
- data/lib/template/lib/routes.rb +8 -6
- data/lib/template/lib/serializers/base.rb +2 -0
- data/lib/template/lib/tasks/rubocop.rake +2 -0
- data/lib/template/lib/tasks/spec.rake +2 -1
- data/lib/template/spec/endpoints/health_spec.rb +4 -2
- data/lib/template/spec/endpoints/schema_spec.rb +2 -0
- data/lib/template/spec/spec_helper.rb +2 -0
- data/lib/template/spec/spec_support/auto_define_rack_app.rb +2 -0
- data/lib/template/spec/spec_support/coverage.rb +2 -0
- data/lib/template/spec/spec_support/log.rb +2 -0
- data/spec/canonical_log_line_helpers_spec.rb +10 -8
- data/spec/commands/creator_spec.rb +3 -0
- data/spec/commands/generator/base_spec.rb +61 -59
- data/spec/commands/generator/endpoint_spec.rb +17 -16
- data/spec/commands/generator/mediator_spec.rb +11 -9
- data/spec/commands/generator/migration_spec.rb +7 -5
- data/spec/commands/generator/model_spec.rb +13 -11
- data/spec/commands/generator/schema_spec.rb +29 -28
- data/spec/commands/generator/serializer_spec.rb +11 -9
- data/spec/commands/generator_spec.rb +64 -62
- data/spec/commands/updater_spec.rb +2 -0
- data/spec/config_helpers_spec.rb +7 -85
- data/spec/db_support_spec.rb +46 -44
- data/spec/error_reporters/rollbar_spec.rb +8 -6
- data/spec/error_reporters/sentry_spec.rb +83 -0
- data/spec/error_reporters_spec.rb +4 -2
- data/spec/errors_spec.rb +4 -1
- data/spec/helpers/encode_spec.rb +5 -3
- data/spec/helpers/params_spec.rb +9 -7
- data/spec/helpers/serialize_spec.rb +16 -12
- data/spec/helpers/zulu_time_spec.rb +6 -4
- data/spec/integration_spec.rb +14 -12
- data/spec/log_spec.rb +8 -6
- data/spec/metrics/backends/logger_spec.rb +10 -6
- data/spec/metrics_spec.rb +15 -13
- data/spec/middleware/canonical_log_line_spec.rb +5 -2
- data/spec/middleware/cors_spec.rb +2 -0
- data/spec/middleware/instruments_spec.rb +10 -8
- data/spec/middleware/metrics_spec.rb +3 -1
- data/spec/middleware/request_id_spec.rb +2 -0
- data/spec/middleware/request_store/clear_spec.rb +2 -0
- data/spec/middleware/request_store/seed_spec.rb +2 -0
- data/spec/middleware/rescue_errors_spec.rb +16 -16
- data/spec/middleware/versioning_spec.rb +29 -27
- data/spec/request_store_spec.rb +3 -1
- data/spec/rollbar_logger_spec.rb +11 -9
- data/spec/router_spec.rb +9 -7
- data/spec/spec_helper.rb +3 -1
- data/spec/support/config.rb +2 -0
- data/spec/support/endpoints.rb +2 -0
- metadata +84 -113
- data/lib/template/config/initializers/rollbar.rb +0 -12
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
1
3
|
require "spec_helper"
|
|
2
4
|
|
|
3
5
|
describe Pliny::Middleware::Versioning do
|
|
@@ -10,58 +12,58 @@ describe Pliny::Middleware::Versioning do
|
|
|
10
12
|
def app
|
|
11
13
|
Rack::Builder.new do
|
|
12
14
|
use Rack::Lint
|
|
13
|
-
use Pliny::Middleware::Versioning, default:
|
|
15
|
+
use Pliny::Middleware::Versioning, default: "2", app_name: "pliny"
|
|
14
16
|
run Sinatra.new {
|
|
15
17
|
get "/" do
|
|
16
|
-
|
|
18
|
+
JSON.generate env
|
|
17
19
|
end
|
|
18
20
|
}
|
|
19
21
|
end
|
|
20
22
|
end
|
|
21
23
|
|
|
22
24
|
it "produces default version on application/json" do
|
|
23
|
-
get
|
|
24
|
-
json =
|
|
25
|
-
assert_equal
|
|
26
|
-
assert_equal
|
|
25
|
+
get "/", {}, { "HTTP_ACCEPT" => "application/json" }
|
|
26
|
+
json = JSON.parse(last_response.body)
|
|
27
|
+
assert_equal "application/json", json["HTTP_ACCEPT"]
|
|
28
|
+
assert_equal "2", json["HTTP_X_API_VERSION"]
|
|
27
29
|
end
|
|
28
30
|
|
|
29
31
|
it "errors without a version specified on application/vnd.pliny+json" do
|
|
30
|
-
get
|
|
31
|
-
error = { id: :bad_version, message:
|
|
32
|
-
Please specify a version along with the MIME type. For example, `Accept: application/vnd.pliny+json; version=1`.
|
|
33
|
-
|
|
32
|
+
get "/", {}, { "HTTP_ACCEPT" => "application/vnd.pliny+json" }
|
|
33
|
+
error = { id: :bad_version, message: <<~EOS }
|
|
34
|
+
Please specify a version along with the MIME type. For example, `Accept: application/vnd.pliny+json; version=1`.
|
|
35
|
+
EOS
|
|
34
36
|
|
|
35
37
|
assert_equal 400, last_response.status
|
|
36
|
-
assert_equal
|
|
38
|
+
assert_equal JSON.generate(error), last_response.body
|
|
37
39
|
end
|
|
38
40
|
|
|
39
41
|
it "ignores a wrong app name" do
|
|
40
|
-
get
|
|
41
|
-
json =
|
|
42
|
-
assert_equal
|
|
43
|
-
assert_equal
|
|
42
|
+
get "/", {}, { "HTTP_ACCEPT" => "application/vnd.chuck_norris+json" }
|
|
43
|
+
json = JSON.parse(last_response.body)
|
|
44
|
+
assert_equal "application/vnd.chuck_norris+json", json["HTTP_ACCEPT"]
|
|
45
|
+
assert_equal "2", json["HTTP_X_API_VERSION"]
|
|
44
46
|
end
|
|
45
47
|
|
|
46
48
|
it "produces a version on application/vnd.pliny+json; version=3" do
|
|
47
|
-
get
|
|
48
|
-
json =
|
|
49
|
-
assert_equal
|
|
50
|
-
assert_equal
|
|
49
|
+
get "/", {}, { "HTTP_ACCEPT" => "application/vnd.pliny+json; version=3" }
|
|
50
|
+
json = JSON.parse(last_response.body)
|
|
51
|
+
assert_equal "application/json", json["HTTP_ACCEPT"]
|
|
52
|
+
assert_equal "3", json["HTTP_X_API_VERSION"]
|
|
51
53
|
end
|
|
52
54
|
|
|
53
55
|
# this behavior is pretty sketchy, but a pretty extreme edge case
|
|
54
56
|
it "handles multiple MIME types" do
|
|
55
|
-
get
|
|
56
|
-
json =
|
|
57
|
-
assert_equal
|
|
58
|
-
assert_equal
|
|
57
|
+
get "/", {}, { "HTTP_ACCEPT" => "application/vnd.pliny+json; version=3; q=0.5, text/xml" }
|
|
58
|
+
json = JSON.parse(last_response.body)
|
|
59
|
+
assert_equal "text/xml, application/json; q=0.5", json["HTTP_ACCEPT"]
|
|
60
|
+
assert_equal "3", json["HTTP_X_API_VERSION"]
|
|
59
61
|
end
|
|
60
62
|
|
|
61
63
|
it "produces the priority version on multiple types" do
|
|
62
|
-
get
|
|
63
|
-
json =
|
|
64
|
-
assert_equal
|
|
65
|
-
assert_equal
|
|
64
|
+
get "/", {}, { "HTTP_ACCEPT" => "application/vnd.pliny+json; version=4; q=0.5, application/vnd.pliny+json; version=3" }
|
|
65
|
+
json = JSON.parse(last_response.body)
|
|
66
|
+
assert_equal "application/json, application/json; q=0.5", json["HTTP_ACCEPT"]
|
|
67
|
+
assert_equal "3", json["HTTP_X_API_VERSION"]
|
|
66
68
|
end
|
|
67
69
|
end
|
data/spec/request_store_spec.rb
CHANGED
data/spec/rollbar_logger_spec.rb
CHANGED
|
@@ -1,41 +1,43 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
1
3
|
require "spec_helper"
|
|
2
4
|
|
|
3
5
|
describe Pliny::RollbarLogger do
|
|
4
6
|
subject(:logger) { Pliny::RollbarLogger.new }
|
|
5
7
|
|
|
6
|
-
let(:message) {
|
|
8
|
+
let(:message) { "hello world" }
|
|
7
9
|
let(:log_context) { { rollbar: true, level: level, message: message } }
|
|
8
10
|
|
|
9
11
|
before do
|
|
10
12
|
expect(Pliny).to receive(:log).with(log_context)
|
|
11
13
|
end
|
|
12
14
|
|
|
13
|
-
context
|
|
14
|
-
let(:level) {
|
|
15
|
+
context "#debug" do
|
|
16
|
+
let(:level) { "debug" }
|
|
15
17
|
|
|
16
18
|
it "proxies the debug log level" do
|
|
17
19
|
logger.debug(message)
|
|
18
20
|
end
|
|
19
21
|
end
|
|
20
22
|
|
|
21
|
-
context
|
|
22
|
-
let(:level) {
|
|
23
|
+
context "#info" do
|
|
24
|
+
let(:level) { "info" }
|
|
23
25
|
|
|
24
26
|
it "proxies the info log level" do
|
|
25
27
|
logger.info(message)
|
|
26
28
|
end
|
|
27
29
|
end
|
|
28
30
|
|
|
29
|
-
context
|
|
30
|
-
let(:level) {
|
|
31
|
+
context "#warn" do
|
|
32
|
+
let(:level) { "warn" }
|
|
31
33
|
|
|
32
34
|
it "proxies the warn log level" do
|
|
33
35
|
logger.warn(message)
|
|
34
36
|
end
|
|
35
37
|
end
|
|
36
38
|
|
|
37
|
-
context
|
|
38
|
-
let(:level) {
|
|
39
|
+
context "#error" do
|
|
40
|
+
let(:level) { "error" }
|
|
39
41
|
|
|
40
42
|
it "proxies the error log level" do
|
|
41
43
|
logger.error(message)
|
data/spec/router_spec.rb
CHANGED
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
1
3
|
require "spec_helper"
|
|
2
4
|
|
|
3
5
|
describe Pliny::Router do
|
|
@@ -5,12 +7,12 @@ describe Pliny::Router do
|
|
|
5
7
|
def app
|
|
6
8
|
Rack::Builder.new do
|
|
7
9
|
use Rack::Lint
|
|
8
|
-
use Pliny::Middleware::Versioning, default:
|
|
10
|
+
use Pliny::Middleware::Versioning, default: "2", app_name: "pliny"
|
|
9
11
|
|
|
10
12
|
use Pliny::Router do
|
|
11
|
-
version
|
|
13
|
+
version "3" do
|
|
12
14
|
mount Sinatra.new {
|
|
13
|
-
get
|
|
15
|
+
get "/" do
|
|
14
16
|
"API V3"
|
|
15
17
|
end
|
|
16
18
|
}
|
|
@@ -26,13 +28,13 @@ describe Pliny::Router do
|
|
|
26
28
|
end
|
|
27
29
|
|
|
28
30
|
it "should not run on any api" do
|
|
29
|
-
get
|
|
30
|
-
assert_equal
|
|
31
|
+
get "/"
|
|
32
|
+
assert_equal "No API", last_response.body
|
|
31
33
|
end
|
|
32
34
|
|
|
33
35
|
it "should run on API V3" do
|
|
34
|
-
get
|
|
35
|
-
assert_equal
|
|
36
|
+
get "/", {}, { "HTTP_ACCEPT" => "application/vnd.pliny+json; version=3" }
|
|
37
|
+
assert_equal "API V3", last_response.body
|
|
36
38
|
end
|
|
37
39
|
end
|
|
38
40
|
end
|
data/spec/spec_helper.rb
CHANGED
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
1
3
|
# make sure this is set before Sinatra is required
|
|
2
4
|
ENV["RACK_ENV"] = "test"
|
|
3
5
|
|
|
@@ -35,7 +37,7 @@ RSpec.configure do |config|
|
|
|
35
37
|
# order dependency and want to debug it, you can fix the order by providing
|
|
36
38
|
# the seed, which is printed after each run.
|
|
37
39
|
# --seed 1234
|
|
38
|
-
config.order =
|
|
40
|
+
config.order = "random"
|
|
39
41
|
|
|
40
42
|
# the rack app to be tested with rack-test:
|
|
41
43
|
def app
|
data/spec/support/config.rb
CHANGED
data/spec/support/endpoints.rb
CHANGED
metadata
CHANGED
|
@@ -1,15 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: pliny
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version:
|
|
4
|
+
version: 2.0.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Brandur Leach
|
|
8
8
|
- Pedro Belo
|
|
9
|
-
autorequire:
|
|
10
9
|
bindir: bin
|
|
11
10
|
cert_chain: []
|
|
12
|
-
date:
|
|
11
|
+
date: 1980-01-02 00:00:00.000000000 Z
|
|
13
12
|
dependencies:
|
|
14
13
|
- !ruby/object:Gem::Dependency
|
|
15
14
|
name: activesupport
|
|
@@ -17,40 +16,54 @@ dependencies:
|
|
|
17
16
|
requirements:
|
|
18
17
|
- - ">="
|
|
19
18
|
- !ruby/object:Gem::Version
|
|
20
|
-
version: '
|
|
19
|
+
version: '7.0'
|
|
21
20
|
- - "<"
|
|
22
21
|
- !ruby/object:Gem::Version
|
|
23
|
-
version: '
|
|
22
|
+
version: '9.0'
|
|
24
23
|
type: :runtime
|
|
25
24
|
prerelease: false
|
|
26
25
|
version_requirements: !ruby/object:Gem::Requirement
|
|
27
26
|
requirements:
|
|
28
27
|
- - ">="
|
|
29
28
|
- !ruby/object:Gem::Version
|
|
30
|
-
version: '
|
|
29
|
+
version: '7.0'
|
|
31
30
|
- - "<"
|
|
32
31
|
- !ruby/object:Gem::Version
|
|
33
|
-
version: '
|
|
32
|
+
version: '9.0'
|
|
34
33
|
- !ruby/object:Gem::Dependency
|
|
35
|
-
name:
|
|
34
|
+
name: http_accept
|
|
36
35
|
requirement: !ruby/object:Gem::Requirement
|
|
37
36
|
requirements:
|
|
38
37
|
- - "~>"
|
|
39
38
|
- !ruby/object:Gem::Version
|
|
40
|
-
version: '1
|
|
39
|
+
version: '0.1'
|
|
41
40
|
- - ">="
|
|
42
41
|
- !ruby/object:Gem::Version
|
|
43
|
-
version: 1.
|
|
42
|
+
version: 0.1.5
|
|
44
43
|
type: :runtime
|
|
45
44
|
prerelease: false
|
|
46
45
|
version_requirements: !ruby/object:Gem::Requirement
|
|
47
46
|
requirements:
|
|
48
47
|
- - "~>"
|
|
49
48
|
- !ruby/object:Gem::Version
|
|
50
|
-
version: '1
|
|
49
|
+
version: '0.1'
|
|
50
|
+
- - ">="
|
|
51
|
+
- !ruby/object:Gem::Version
|
|
52
|
+
version: 0.1.5
|
|
53
|
+
- !ruby/object:Gem::Dependency
|
|
54
|
+
name: ostruct
|
|
55
|
+
requirement: !ruby/object:Gem::Requirement
|
|
56
|
+
requirements:
|
|
57
|
+
- - ">="
|
|
58
|
+
- !ruby/object:Gem::Version
|
|
59
|
+
version: '0'
|
|
60
|
+
type: :runtime
|
|
61
|
+
prerelease: false
|
|
62
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
63
|
+
requirements:
|
|
51
64
|
- - ">="
|
|
52
65
|
- !ruby/object:Gem::Version
|
|
53
|
-
version:
|
|
66
|
+
version: '0'
|
|
54
67
|
- !ruby/object:Gem::Dependency
|
|
55
68
|
name: prmd
|
|
56
69
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -77,7 +90,7 @@ dependencies:
|
|
|
77
90
|
requirements:
|
|
78
91
|
- - ">="
|
|
79
92
|
- !ruby/object:Gem::Version
|
|
80
|
-
version: '
|
|
93
|
+
version: '3.0'
|
|
81
94
|
- - "<"
|
|
82
95
|
- !ruby/object:Gem::Version
|
|
83
96
|
version: '5.0'
|
|
@@ -87,30 +100,10 @@ dependencies:
|
|
|
87
100
|
requirements:
|
|
88
101
|
- - ">="
|
|
89
102
|
- !ruby/object:Gem::Version
|
|
90
|
-
version: '
|
|
103
|
+
version: '3.0'
|
|
91
104
|
- - "<"
|
|
92
105
|
- !ruby/object:Gem::Version
|
|
93
106
|
version: '5.0'
|
|
94
|
-
- !ruby/object:Gem::Dependency
|
|
95
|
-
name: http_accept
|
|
96
|
-
requirement: !ruby/object:Gem::Requirement
|
|
97
|
-
requirements:
|
|
98
|
-
- - "~>"
|
|
99
|
-
- !ruby/object:Gem::Version
|
|
100
|
-
version: '0.1'
|
|
101
|
-
- - ">="
|
|
102
|
-
- !ruby/object:Gem::Version
|
|
103
|
-
version: 0.1.5
|
|
104
|
-
type: :runtime
|
|
105
|
-
prerelease: false
|
|
106
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
107
|
-
requirements:
|
|
108
|
-
- - "~>"
|
|
109
|
-
- !ruby/object:Gem::Version
|
|
110
|
-
version: '0.1'
|
|
111
|
-
- - ">="
|
|
112
|
-
- !ruby/object:Gem::Version
|
|
113
|
-
version: 0.1.5
|
|
114
107
|
- !ruby/object:Gem::Dependency
|
|
115
108
|
name: sinatra-router
|
|
116
109
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -152,95 +145,77 @@ dependencies:
|
|
|
152
145
|
- !ruby/object:Gem::Version
|
|
153
146
|
version: '2.0'
|
|
154
147
|
- !ruby/object:Gem::Dependency
|
|
155
|
-
name:
|
|
148
|
+
name: pg
|
|
156
149
|
requirement: !ruby/object:Gem::Requirement
|
|
157
150
|
requirements:
|
|
158
|
-
- - "
|
|
151
|
+
- - ">="
|
|
159
152
|
- !ruby/object:Gem::Version
|
|
160
|
-
version: '
|
|
153
|
+
version: '0'
|
|
161
154
|
type: :development
|
|
162
155
|
prerelease: false
|
|
163
156
|
version_requirements: !ruby/object:Gem::Requirement
|
|
164
157
|
requirements:
|
|
165
|
-
- - "
|
|
158
|
+
- - ">="
|
|
166
159
|
- !ruby/object:Gem::Version
|
|
167
|
-
version: '
|
|
160
|
+
version: '0'
|
|
168
161
|
- !ruby/object:Gem::Dependency
|
|
169
|
-
name:
|
|
162
|
+
name: pry
|
|
170
163
|
requirement: !ruby/object:Gem::Requirement
|
|
171
164
|
requirements:
|
|
172
|
-
- - "
|
|
165
|
+
- - ">="
|
|
173
166
|
- !ruby/object:Gem::Version
|
|
174
|
-
version: '
|
|
167
|
+
version: '0'
|
|
175
168
|
type: :development
|
|
176
169
|
prerelease: false
|
|
177
170
|
version_requirements: !ruby/object:Gem::Requirement
|
|
178
171
|
requirements:
|
|
179
|
-
- - "
|
|
172
|
+
- - ">="
|
|
180
173
|
- !ruby/object:Gem::Version
|
|
181
|
-
version: '
|
|
174
|
+
version: '0'
|
|
182
175
|
- !ruby/object:Gem::Dependency
|
|
183
|
-
name:
|
|
176
|
+
name: pry-byebug
|
|
184
177
|
requirement: !ruby/object:Gem::Requirement
|
|
185
178
|
requirements:
|
|
186
|
-
- - "~>"
|
|
187
|
-
- !ruby/object:Gem::Version
|
|
188
|
-
version: '3.1'
|
|
189
179
|
- - ">="
|
|
190
180
|
- !ruby/object:Gem::Version
|
|
191
|
-
version:
|
|
181
|
+
version: '0'
|
|
192
182
|
type: :development
|
|
193
183
|
prerelease: false
|
|
194
184
|
version_requirements: !ruby/object:Gem::Requirement
|
|
195
185
|
requirements:
|
|
196
|
-
- - "~>"
|
|
197
|
-
- !ruby/object:Gem::Version
|
|
198
|
-
version: '3.1'
|
|
199
186
|
- - ">="
|
|
200
187
|
- !ruby/object:Gem::Version
|
|
201
|
-
version:
|
|
188
|
+
version: '0'
|
|
202
189
|
- !ruby/object:Gem::Dependency
|
|
203
|
-
name:
|
|
190
|
+
name: rack-test
|
|
204
191
|
requirement: !ruby/object:Gem::Requirement
|
|
205
192
|
requirements:
|
|
206
193
|
- - ">="
|
|
207
194
|
- !ruby/object:Gem::Version
|
|
208
|
-
version: '
|
|
209
|
-
- - "<"
|
|
210
|
-
- !ruby/object:Gem::Version
|
|
211
|
-
version: '5.0'
|
|
195
|
+
version: '0'
|
|
212
196
|
type: :development
|
|
213
197
|
prerelease: false
|
|
214
198
|
version_requirements: !ruby/object:Gem::Requirement
|
|
215
199
|
requirements:
|
|
216
200
|
- - ">="
|
|
217
201
|
- !ruby/object:Gem::Version
|
|
218
|
-
version: '
|
|
219
|
-
- - "<"
|
|
220
|
-
- !ruby/object:Gem::Version
|
|
221
|
-
version: '5.0'
|
|
202
|
+
version: '0'
|
|
222
203
|
- !ruby/object:Gem::Dependency
|
|
223
|
-
name:
|
|
204
|
+
name: rake
|
|
224
205
|
requirement: !ruby/object:Gem::Requirement
|
|
225
206
|
requirements:
|
|
226
|
-
- - "~>"
|
|
227
|
-
- !ruby/object:Gem::Version
|
|
228
|
-
version: '0.7'
|
|
229
207
|
- - ">="
|
|
230
208
|
- !ruby/object:Gem::Version
|
|
231
|
-
version: 0
|
|
209
|
+
version: '0'
|
|
232
210
|
type: :development
|
|
233
211
|
prerelease: false
|
|
234
212
|
version_requirements: !ruby/object:Gem::Requirement
|
|
235
213
|
requirements:
|
|
236
|
-
- - "~>"
|
|
237
|
-
- !ruby/object:Gem::Version
|
|
238
|
-
version: '0.7'
|
|
239
214
|
- - ">="
|
|
240
215
|
- !ruby/object:Gem::Version
|
|
241
|
-
version: 0
|
|
216
|
+
version: '0'
|
|
242
217
|
- !ruby/object:Gem::Dependency
|
|
243
|
-
name:
|
|
218
|
+
name: rollbar
|
|
244
219
|
requirement: !ruby/object:Gem::Requirement
|
|
245
220
|
requirements:
|
|
246
221
|
- - ">="
|
|
@@ -254,7 +229,7 @@ dependencies:
|
|
|
254
229
|
- !ruby/object:Gem::Version
|
|
255
230
|
version: '0'
|
|
256
231
|
- !ruby/object:Gem::Dependency
|
|
257
|
-
name:
|
|
232
|
+
name: rspec
|
|
258
233
|
requirement: !ruby/object:Gem::Requirement
|
|
259
234
|
requirements:
|
|
260
235
|
- - ">="
|
|
@@ -268,79 +243,75 @@ dependencies:
|
|
|
268
243
|
- !ruby/object:Gem::Version
|
|
269
244
|
version: '0'
|
|
270
245
|
- !ruby/object:Gem::Dependency
|
|
271
|
-
name:
|
|
246
|
+
name: sentry-ruby
|
|
272
247
|
requirement: !ruby/object:Gem::Requirement
|
|
273
248
|
requirements:
|
|
274
|
-
- - "
|
|
275
|
-
- !ruby/object:Gem::Version
|
|
276
|
-
version: '1.0'
|
|
277
|
-
- - "<"
|
|
249
|
+
- - ">="
|
|
278
250
|
- !ruby/object:Gem::Version
|
|
279
|
-
version: '
|
|
251
|
+
version: '0'
|
|
280
252
|
type: :development
|
|
281
253
|
prerelease: false
|
|
282
254
|
version_requirements: !ruby/object:Gem::Requirement
|
|
283
255
|
requirements:
|
|
284
|
-
- - "
|
|
285
|
-
- !ruby/object:Gem::Version
|
|
286
|
-
version: '1.0'
|
|
287
|
-
- - "<"
|
|
256
|
+
- - ">="
|
|
288
257
|
- !ruby/object:Gem::Version
|
|
289
|
-
version: '
|
|
258
|
+
version: '0'
|
|
290
259
|
- !ruby/object:Gem::Dependency
|
|
291
|
-
name:
|
|
260
|
+
name: rubocop
|
|
292
261
|
requirement: !ruby/object:Gem::Requirement
|
|
293
262
|
requirements:
|
|
294
|
-
- - "
|
|
263
|
+
- - ">="
|
|
295
264
|
- !ruby/object:Gem::Version
|
|
296
|
-
version: '
|
|
265
|
+
version: '0'
|
|
297
266
|
type: :development
|
|
298
267
|
prerelease: false
|
|
299
268
|
version_requirements: !ruby/object:Gem::Requirement
|
|
300
269
|
requirements:
|
|
301
|
-
- - "
|
|
270
|
+
- - ">="
|
|
302
271
|
- !ruby/object:Gem::Version
|
|
303
|
-
version: '
|
|
272
|
+
version: '0'
|
|
304
273
|
- !ruby/object:Gem::Dependency
|
|
305
274
|
name: sequel
|
|
306
275
|
requirement: !ruby/object:Gem::Requirement
|
|
307
276
|
requirements:
|
|
308
|
-
- - "
|
|
309
|
-
- !ruby/object:Gem::Version
|
|
310
|
-
version: '5.4'
|
|
311
|
-
- - "<"
|
|
277
|
+
- - ">="
|
|
312
278
|
- !ruby/object:Gem::Version
|
|
313
|
-
version: '
|
|
279
|
+
version: '0'
|
|
314
280
|
type: :development
|
|
315
281
|
prerelease: false
|
|
316
282
|
version_requirements: !ruby/object:Gem::Requirement
|
|
317
283
|
requirements:
|
|
318
|
-
- - "
|
|
319
|
-
- !ruby/object:Gem::Version
|
|
320
|
-
version: '5.4'
|
|
321
|
-
- - "<"
|
|
284
|
+
- - ">="
|
|
322
285
|
- !ruby/object:Gem::Version
|
|
323
|
-
version: '
|
|
286
|
+
version: '0'
|
|
324
287
|
- !ruby/object:Gem::Dependency
|
|
325
|
-
name:
|
|
288
|
+
name: sinatra-contrib
|
|
326
289
|
requirement: !ruby/object:Gem::Requirement
|
|
327
290
|
requirements:
|
|
328
|
-
- - "~>"
|
|
329
|
-
- !ruby/object:Gem::Version
|
|
330
|
-
version: '0.52'
|
|
331
291
|
- - ">="
|
|
332
292
|
- !ruby/object:Gem::Version
|
|
333
|
-
version: 0
|
|
293
|
+
version: '0'
|
|
334
294
|
type: :development
|
|
335
295
|
prerelease: false
|
|
336
296
|
version_requirements: !ruby/object:Gem::Requirement
|
|
337
297
|
requirements:
|
|
338
|
-
- - "
|
|
298
|
+
- - ">="
|
|
339
299
|
- !ruby/object:Gem::Version
|
|
340
|
-
version: '0
|
|
300
|
+
version: '0'
|
|
301
|
+
- !ruby/object:Gem::Dependency
|
|
302
|
+
name: timecop
|
|
303
|
+
requirement: !ruby/object:Gem::Requirement
|
|
304
|
+
requirements:
|
|
341
305
|
- - ">="
|
|
342
306
|
- !ruby/object:Gem::Version
|
|
343
|
-
version: 0
|
|
307
|
+
version: '0'
|
|
308
|
+
type: :development
|
|
309
|
+
prerelease: false
|
|
310
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
311
|
+
requirements:
|
|
312
|
+
- - ">="
|
|
313
|
+
- !ruby/object:Gem::Version
|
|
314
|
+
version: '0'
|
|
344
315
|
description: Pliny is a set of base classes and helpers to help developers write excellent
|
|
345
316
|
APIs in Sinatra
|
|
346
317
|
email:
|
|
@@ -373,6 +344,7 @@ files:
|
|
|
373
344
|
- lib/pliny/db_support.rb
|
|
374
345
|
- lib/pliny/error_reporters.rb
|
|
375
346
|
- lib/pliny/error_reporters/rollbar.rb
|
|
347
|
+
- lib/pliny/error_reporters/sentry.rb
|
|
376
348
|
- lib/pliny/errors.rb
|
|
377
349
|
- lib/pliny/helpers/encode.rb
|
|
378
350
|
- lib/pliny/helpers/params.rb
|
|
@@ -415,7 +387,7 @@ files:
|
|
|
415
387
|
- lib/template/.env.test.erb
|
|
416
388
|
- lib/template/.gitignore
|
|
417
389
|
- lib/template/.rspec
|
|
418
|
-
- lib/template/.
|
|
390
|
+
- lib/template/.rubocop_template.yml
|
|
419
391
|
- lib/template/.ruby-version
|
|
420
392
|
- lib/template/Gemfile
|
|
421
393
|
- lib/template/LICENSE
|
|
@@ -431,7 +403,7 @@ files:
|
|
|
431
403
|
- lib/template/config/initializers/database.rb
|
|
432
404
|
- lib/template/config/initializers/log.rb
|
|
433
405
|
- lib/template/config/initializers/metrics.rb
|
|
434
|
-
- lib/template/config/initializers/
|
|
406
|
+
- lib/template/config/initializers/sentry.rb
|
|
435
407
|
- lib/template/config/puma.rb
|
|
436
408
|
- lib/template/db/schema.sql
|
|
437
409
|
- lib/template/db/seeds.rb
|
|
@@ -468,6 +440,7 @@ files:
|
|
|
468
440
|
- spec/config_helpers_spec.rb
|
|
469
441
|
- spec/db_support_spec.rb
|
|
470
442
|
- spec/error_reporters/rollbar_spec.rb
|
|
443
|
+
- spec/error_reporters/sentry_spec.rb
|
|
471
444
|
- spec/error_reporters_spec.rb
|
|
472
445
|
- spec/errors_spec.rb
|
|
473
446
|
- spec/helpers/encode_spec.rb
|
|
@@ -497,7 +470,6 @@ homepage: https://github.com/interagent/pliny
|
|
|
497
470
|
licenses:
|
|
498
471
|
- MIT
|
|
499
472
|
metadata: {}
|
|
500
|
-
post_install_message:
|
|
501
473
|
rdoc_options: []
|
|
502
474
|
require_paths:
|
|
503
475
|
- lib
|
|
@@ -505,15 +477,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
|
505
477
|
requirements:
|
|
506
478
|
- - ">="
|
|
507
479
|
- !ruby/object:Gem::Version
|
|
508
|
-
version: '
|
|
480
|
+
version: '3.2'
|
|
509
481
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
510
482
|
requirements:
|
|
511
483
|
- - ">="
|
|
512
484
|
- !ruby/object:Gem::Version
|
|
513
485
|
version: '0'
|
|
514
486
|
requirements: []
|
|
515
|
-
rubygems_version:
|
|
516
|
-
signing_key:
|
|
487
|
+
rubygems_version: 4.0.3
|
|
517
488
|
specification_version: 4
|
|
518
489
|
summary: Basic tooling to support API apps in Sinatra
|
|
519
490
|
test_files: []
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
require "pliny/error_reporters/rollbar"
|
|
2
|
-
|
|
3
|
-
Pliny::ErrorReporters.error_reporters << Pliny::ErrorReporters::Rollbar
|
|
4
|
-
|
|
5
|
-
Rollbar.configure do |config|
|
|
6
|
-
config.enabled = ENV.key?("ROLLBAR_ACCESS_TOKEN")
|
|
7
|
-
config.disable_rack_monkey_patch = true
|
|
8
|
-
config.access_token = ENV["ROLLBAR_ACCESS_TOKEN"]
|
|
9
|
-
config.environment = ENV["ROLLBAR_ENV"]
|
|
10
|
-
config.logger = Pliny::RollbarLogger.new
|
|
11
|
-
config.use_sucker_punch
|
|
12
|
-
end
|