my_api_client 0.17.0 → 0.21.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/.circleci/config.yml +32 -158
- data/.gem_comet.yml +13 -2
- data/.github/dependabot.yml +32 -0
- data/.rubocop.yml +1 -1
- data/.rubocop_todo.yml +22 -12
- data/CHANGELOG.md +61 -74
- data/Gemfile +0 -3
- data/Gemfile.lock +79 -61
- data/README.jp.md +71 -7
- data/gemfiles/rails_5.0.gemfile +1 -0
- data/gemfiles/rails_5.1.gemfile +1 -0
- data/gemfiles/rails_5.2.gemfile +1 -0
- data/gemfiles/rails_6.0.gemfile +1 -0
- data/gemfiles/{rails_4.2.gemfile → rails_6.1.gemfile} +1 -1
- data/lib/generators/rails/USAGE +1 -1
- data/lib/generators/rails/api_client_generator.rb +6 -0
- data/lib/generators/rails/templates/api_client.rb.erb +1 -1
- data/lib/generators/rspec/USAGE +1 -1
- data/lib/generators/rspec/api_client_generator.rb +6 -0
- data/lib/generators/rspec/templates/api_client_spec.rb.erb +1 -1
- data/lib/my_api_client/base.rb +2 -9
- data/lib/my_api_client/integrations/bugsnag.rb +1 -1
- data/lib/my_api_client/params/params.rb +1 -3
- data/lib/my_api_client/request.rb +1 -1
- data/lib/my_api_client/rspec/matchers/be_handled_as_an_error.rb +3 -3
- data/lib/my_api_client/rspec/matchers/request_to.rb +1 -1
- data/lib/my_api_client/rspec/stub.rb +40 -15
- data/lib/my_api_client/version.rb +1 -1
- data/my_api/.ruby-version +1 -1
- data/my_api/Gemfile +3 -0
- data/my_api/Gemfile.lock +112 -105
- data/my_api/app/controllers/pagination_controller.rb +2 -2
- data/my_api/public/index.html +2 -2
- data/my_api_client.gemspec +3 -3
- data/rails_app/rails_5.2/Gemfile +0 -1
- data/rails_app/rails_5.2/Gemfile.lock +73 -64
- data/rails_app/rails_5.2/config/environments/production.rb +1 -1
- data/rails_app/rails_6.0/Gemfile.lock +87 -77
- data/rails_app/rails_6.0/config/environments/production.rb +1 -1
- data/rails_app/rails_6.1/.gitattributes +8 -0
- data/rails_app/rails_6.1/.gitignore +28 -0
- data/rails_app/rails_6.1/.rspec +3 -0
- data/rails_app/rails_6.1/Gemfile +17 -0
- data/rails_app/rails_6.1/Gemfile.lock +203 -0
- data/rails_app/rails_6.1/README.md +24 -0
- data/rails_app/rails_6.1/Rakefile +6 -0
- data/rails_app/rails_6.1/app/controllers/application_controller.rb +4 -0
- data/rails_app/rails_6.1/app/controllers/concerns/.keep +0 -0
- data/rails_app/rails_6.1/app/javascript/.keep +0 -0
- data/rails_app/rails_6.1/app/models/application_record.rb +5 -0
- data/rails_app/rails_6.1/app/models/concerns/.keep +0 -0
- data/rails_app/rails_6.1/bin/bundle +114 -0
- data/rails_app/rails_6.1/bin/rails +4 -0
- data/rails_app/rails_6.1/bin/rake +4 -0
- data/rails_app/rails_6.1/bin/setup +33 -0
- data/rails_app/rails_6.1/config.ru +6 -0
- data/rails_app/rails_6.1/config/application.rb +42 -0
- data/rails_app/rails_6.1/config/boot.rb +5 -0
- data/rails_app/rails_6.1/config/credentials.yml.enc +1 -0
- data/rails_app/rails_6.1/config/database.yml +25 -0
- data/rails_app/rails_6.1/config/environment.rb +7 -0
- data/rails_app/rails_6.1/config/environments/development.rb +59 -0
- data/rails_app/rails_6.1/config/environments/production.rb +97 -0
- data/rails_app/rails_6.1/config/environments/test.rb +51 -0
- data/rails_app/rails_6.1/config/initializers/application_controller_renderer.rb +9 -0
- data/rails_app/rails_6.1/config/initializers/backtrace_silencers.rb +10 -0
- data/rails_app/rails_6.1/config/initializers/cors.rb +17 -0
- data/rails_app/rails_6.1/config/initializers/filter_parameter_logging.rb +8 -0
- data/rails_app/rails_6.1/config/initializers/inflections.rb +17 -0
- data/rails_app/rails_6.1/config/initializers/mime_types.rb +5 -0
- data/rails_app/rails_6.1/config/initializers/wrap_parameters.rb +16 -0
- data/rails_app/rails_6.1/config/locales/en.yml +33 -0
- data/rails_app/rails_6.1/config/routes.rb +5 -0
- data/rails_app/rails_6.1/db/seeds.rb +8 -0
- data/rails_app/rails_6.1/lib/tasks/.keep +0 -0
- data/rails_app/rails_6.1/public/robots.txt +1 -0
- data/rails_app/rails_6.1/spec/rails_helper.rb +14 -0
- data/rails_app/rails_6.1/spec/spec_helper.rb +13 -0
- data/rails_app/rails_6.1/tmp/.keep +0 -0
- data/rails_app/rails_6.1/tmp/pids/.keep +0 -0
- data/rails_app/rails_6.1/vendor/.keep +0 -0
- metadata +52 -11
- data/.dependabot/config.yml +0 -34
- data/.rubocop_challenge.yml +0 -5
@@ -44,7 +44,7 @@ RSpec.describe <%= "#{class_name}ApiClient" %>, <%= type_metatag(:api_client) %>
|
|
44
44
|
|
45
45
|
it do
|
46
46
|
expect { api_request }
|
47
|
-
.to request_to(:<%= http_method %>, '
|
47
|
+
.to request_to(:<%= http_method %>, '<%= options[:endpoint] %>/<%= pathname %>')
|
48
48
|
<% if http_method == 'get' -%>
|
49
49
|
.with(headers: headers, query: {})
|
50
50
|
<% else -%>
|
data/lib/my_api_client/base.rb
CHANGED
@@ -8,15 +8,8 @@ module MyApiClient
|
|
8
8
|
include MyApiClient::Exceptions
|
9
9
|
include MyApiClient::Request
|
10
10
|
|
11
|
-
|
12
|
-
|
13
|
-
class_attribute :error_handlers, instance_writer: false, default: []
|
14
|
-
else
|
15
|
-
class_attribute :logger
|
16
|
-
class_attribute :error_handlers
|
17
|
-
self.logger = ::Logger.new($stdout)
|
18
|
-
self.error_handlers = []
|
19
|
-
end
|
11
|
+
class_attribute :logger, instance_writer: false, default: ::Logger.new($stdout)
|
12
|
+
class_attribute :error_handlers, instance_writer: false, default: []
|
20
13
|
|
21
14
|
include MyApiClient::DefaultErrorHandlers
|
22
15
|
|
@@ -40,9 +40,7 @@ module MyApiClient
|
|
40
40
|
# @return [Hash] Metadata for bugsnag
|
41
41
|
def request_metadata
|
42
42
|
if request.present?
|
43
|
-
request.metadata.
|
44
|
-
memo[:"request_#{key}"] = value
|
45
|
-
end
|
43
|
+
request.metadata.transform_keys { |key| :"request_#{key}" }
|
46
44
|
else
|
47
45
|
{}
|
48
46
|
end
|
@@ -24,7 +24,7 @@ module MyApiClient
|
|
24
24
|
# @return [Sawyer::Response]
|
25
25
|
# Response instance.
|
26
26
|
def _request_with_relative_uri(http_method, pathname, headers, query, body)
|
27
|
-
query_strings = query.present? ?
|
27
|
+
query_strings = query.present? ? "?#{query.to_query}" : ''
|
28
28
|
uri = URI.join(File.join(endpoint, pathname), query_strings)
|
29
29
|
_request_with_absolute_uri(http_method, uri, headers, body)
|
30
30
|
end
|
@@ -30,17 +30,17 @@ RSpec::Matchers.define :be_handled_as_an_error do |expected_error_class|
|
|
30
30
|
actual_error = handle_error(api_request)
|
31
31
|
if actual_error.nil?
|
32
32
|
"expected to be handled as #{expected_error_class.name}, " \
|
33
|
-
|
33
|
+
'but not to be handled'
|
34
34
|
else
|
35
35
|
"expected to be handled as #{expected_error_class.name}, " \
|
36
|
-
|
36
|
+
"but it was handled as #{actual_error.class.name}"
|
37
37
|
end
|
38
38
|
end
|
39
39
|
|
40
40
|
failure_message_when_negated do |api_request|
|
41
41
|
actual_error = handle_error(api_request)
|
42
42
|
'expected not to be handled as an error, ' \
|
43
|
-
|
43
|
+
"but it was handled as #{actual_error.class.name}"
|
44
44
|
end
|
45
45
|
|
46
46
|
attr_reader :sawyer
|
@@ -50,7 +50,7 @@ RSpec::Matchers.define :request_to do |expected_method, expected_url|
|
|
50
50
|
end
|
51
51
|
|
52
52
|
def request_line(method, url, query = nil)
|
53
|
-
url +=
|
53
|
+
url += "?#{query.to_query}" if query.present?
|
54
54
|
"#{method.upcase} #{url}"
|
55
55
|
end
|
56
56
|
|
@@ -18,13 +18,17 @@ module MyApiClient
|
|
18
18
|
# @example
|
19
19
|
# stub_api_client_all(
|
20
20
|
# ExampleApiClient,
|
21
|
+
# get_users: { # Returns an arbitrary pageable response
|
22
|
+
# pageable: [ { id: 1 }, { id: 2 }] # for `#pageable_get`.
|
23
|
+
# },
|
21
24
|
# get_user: { response: { id: 1 } }, # Returns an arbitrary response.
|
22
25
|
# post_users: { id: 1 }, # You can ommit `response` keyword.
|
23
26
|
# patch_user: ->(params) { { id: params[:id] } }, # Returns calculated result as response.
|
24
27
|
# put_user: { raise: MyApiClient::ClientError } # Raises an arbitrary error.
|
25
28
|
# delete_user: {
|
26
29
|
# raise: MyApiClient::ClientError,
|
27
|
-
# response: { errors: [{ code: 10 }] }, # You can stub response
|
30
|
+
# response: { errors: [{ code: 10 }] }, # You can stub response and statu code
|
31
|
+
# status_code: 429, # with an arbitrary error.
|
28
32
|
# }
|
29
33
|
# )
|
30
34
|
# response = ExampleApiClient.new.get_user(id: 123)
|
@@ -46,13 +50,17 @@ module MyApiClient
|
|
46
50
|
# @example
|
47
51
|
# api_client = stub_api_client(
|
48
52
|
# ExampleApiClient,
|
53
|
+
# get_users: { # Returns an arbitrary pageable response
|
54
|
+
# pageable: [ { id: 1 }, { id: 2 }] # for `#pageable_get`.
|
55
|
+
# },
|
49
56
|
# get_user: { response: { id: 1 } }, # Returns an arbitrary response.
|
50
57
|
# post_users: { id: 1 }, # You can ommit `response` keyword.
|
51
58
|
# patch_user: ->(params) { { id: params[:id] } }, # Returns calculated result as response.
|
52
59
|
# put_user: { raise: MyApiClient::ClientError } # Raises an arbitrary error.
|
53
60
|
# delete_user: {
|
54
61
|
# raise: MyApiClient::ClientError,
|
55
|
-
# response: { errors: [{ code: 10 }] }, # You can stub response
|
62
|
+
# response: { errors: [{ code: 10 }] }, # You can stub response and status code
|
63
|
+
# status_code: 403, # with exception.
|
56
64
|
# }
|
57
65
|
# )
|
58
66
|
# response = api_client.get_user(id: 123)
|
@@ -67,25 +75,40 @@ module MyApiClient
|
|
67
75
|
|
68
76
|
private
|
69
77
|
|
70
|
-
# rubocop:disable Metrics/AbcSize
|
71
78
|
def stubbing(instance, action, options)
|
79
|
+
allow(instance).to receive(action) do |*request|
|
80
|
+
generate_stubbed_response(options, *request)
|
81
|
+
end
|
82
|
+
end
|
83
|
+
|
84
|
+
def generate_stubbed_response(options, *request) # rubocop:disable Metrics/AbcSize, Metrics/MethodLength
|
72
85
|
case options
|
73
86
|
when Proc
|
74
|
-
|
87
|
+
stub_as_resource(options.call(*request))
|
75
88
|
when Hash
|
76
|
-
if options[:raise]
|
77
|
-
|
78
|
-
allow(instance).to receive(action).and_raise(exception)
|
89
|
+
if options[:raise] # rubocop:disable Style/GuardClause
|
90
|
+
raise process_raise_option(options[:raise], options[:response], options[:status_code])
|
79
91
|
elsif options[:response]
|
80
|
-
|
92
|
+
stub_as_resource(options[:response])
|
93
|
+
elsif options[:pageable].is_a?(Enumerable)
|
94
|
+
stub_as_pageable_resource(options[:pageable].each, *request)
|
81
95
|
else
|
82
|
-
|
96
|
+
stub_as_resource(options)
|
83
97
|
end
|
84
98
|
else
|
85
|
-
|
99
|
+
stub_as_resource(options)
|
86
100
|
end
|
87
101
|
end
|
88
|
-
|
102
|
+
|
103
|
+
def stub_as_pageable_resource(pager, *request)
|
104
|
+
Enumerator.new do |y|
|
105
|
+
loop do
|
106
|
+
y << generate_stubbed_response(pager.next, *request)
|
107
|
+
rescue StopIteration
|
108
|
+
break
|
109
|
+
end
|
110
|
+
end.lazy
|
111
|
+
end
|
89
112
|
|
90
113
|
# Provides a shorthand for `raise` option.
|
91
114
|
# `MyApiClient::Error` requires `MyApiClient::Params::Params` instance on
|
@@ -93,12 +116,14 @@ module MyApiClient
|
|
93
116
|
# If given a error instance, it will return raw value without processing.
|
94
117
|
#
|
95
118
|
# @param exception [Clsas, MyApiClient::Error] Processing target.
|
119
|
+
# @param response [Hash] describe_response_here
|
120
|
+
# @param status_code [Integer] describe_status_code_here
|
96
121
|
# @return [MyApiClient::Error] Processed exception.
|
97
122
|
# @raise [RuntimeError] Unsupported error class was set.
|
98
|
-
def process_raise_option(exception, response
|
123
|
+
def process_raise_option(exception, response, status_code)
|
99
124
|
case exception
|
100
125
|
when Class
|
101
|
-
params = MyApiClient::Params::Params.new(nil, stub_as_response(response))
|
126
|
+
params = MyApiClient::Params::Params.new(nil, stub_as_response(response, status_code))
|
102
127
|
if exception == MyApiClient::NetworkError
|
103
128
|
exception.new(params, Net::OpenTimeout.new)
|
104
129
|
else
|
@@ -113,10 +138,10 @@ module MyApiClient
|
|
113
138
|
end
|
114
139
|
end
|
115
140
|
|
116
|
-
def stub_as_response(params)
|
141
|
+
def stub_as_response(params, status_code)
|
117
142
|
instance_double(
|
118
143
|
Sawyer::Response,
|
119
|
-
status: 400,
|
144
|
+
status: status_code.presence || 400,
|
120
145
|
headers: {},
|
121
146
|
data: stub_as_resource(params),
|
122
147
|
timing: 0.123
|
data/my_api/.ruby-version
CHANGED
@@ -1 +1 @@
|
|
1
|
-
2.
|
1
|
+
2.7.2
|
data/my_api/Gemfile
CHANGED
@@ -6,6 +6,9 @@ gem 'jets'
|
|
6
6
|
|
7
7
|
gem 'dynomite'
|
8
8
|
|
9
|
+
# See: https://github.com/boltops-tools/jets/issues/523
|
10
|
+
gem 'nokogiri', '~> 1.12.2'
|
11
|
+
|
9
12
|
# development and test groups are not bundled as part of the deployment
|
10
13
|
group :development, :test do
|
11
14
|
# Call 'byebug' anywhere in the code to stop execution and get a debugger console
|
data/my_api/Gemfile.lock
CHANGED
@@ -1,43 +1,44 @@
|
|
1
1
|
GEM
|
2
2
|
remote: https://rubygems.org/
|
3
3
|
specs:
|
4
|
-
actionmailer (6.
|
5
|
-
actionpack (= 6.
|
6
|
-
actionview (= 6.
|
7
|
-
activejob (= 6.
|
4
|
+
actionmailer (6.1.4)
|
5
|
+
actionpack (= 6.1.4)
|
6
|
+
actionview (= 6.1.4)
|
7
|
+
activejob (= 6.1.4)
|
8
|
+
activesupport (= 6.1.4)
|
8
9
|
mail (~> 2.5, >= 2.5.4)
|
9
10
|
rails-dom-testing (~> 2.0)
|
10
|
-
actionpack (6.
|
11
|
-
actionview (= 6.
|
12
|
-
activesupport (= 6.
|
13
|
-
rack (~> 2.0, >= 2.0.
|
11
|
+
actionpack (6.1.4)
|
12
|
+
actionview (= 6.1.4)
|
13
|
+
activesupport (= 6.1.4)
|
14
|
+
rack (~> 2.0, >= 2.0.9)
|
14
15
|
rack-test (>= 0.6.3)
|
15
16
|
rails-dom-testing (~> 2.0)
|
16
17
|
rails-html-sanitizer (~> 1.0, >= 1.2.0)
|
17
|
-
actionview (6.
|
18
|
-
activesupport (= 6.
|
18
|
+
actionview (6.1.4)
|
19
|
+
activesupport (= 6.1.4)
|
19
20
|
builder (~> 3.1)
|
20
21
|
erubi (~> 1.4)
|
21
22
|
rails-dom-testing (~> 2.0)
|
22
23
|
rails-html-sanitizer (~> 1.1, >= 1.2.0)
|
23
|
-
activejob (6.
|
24
|
-
activesupport (= 6.
|
24
|
+
activejob (6.1.4)
|
25
|
+
activesupport (= 6.1.4)
|
25
26
|
globalid (>= 0.3.6)
|
26
|
-
activemodel (6.
|
27
|
-
activesupport (= 6.
|
28
|
-
activerecord (6.
|
29
|
-
activemodel (= 6.
|
30
|
-
activesupport (= 6.
|
31
|
-
activesupport (6.
|
27
|
+
activemodel (6.1.4)
|
28
|
+
activesupport (= 6.1.4)
|
29
|
+
activerecord (6.1.4)
|
30
|
+
activemodel (= 6.1.4)
|
31
|
+
activesupport (= 6.1.4)
|
32
|
+
activesupport (6.1.4)
|
32
33
|
concurrent-ruby (~> 1.0, >= 1.0.2)
|
33
|
-
i18n (>=
|
34
|
-
minitest (
|
35
|
-
tzinfo (~>
|
36
|
-
zeitwerk (~> 2.
|
37
|
-
addressable (2.
|
34
|
+
i18n (>= 1.6, < 2)
|
35
|
+
minitest (>= 5.1)
|
36
|
+
tzinfo (~> 2.0)
|
37
|
+
zeitwerk (~> 2.3)
|
38
|
+
addressable (2.8.0)
|
38
39
|
public_suffix (>= 2.0.2, < 5.0)
|
39
|
-
aws-eventstream (1.1.
|
40
|
-
aws-mfa-secure (0.4.
|
40
|
+
aws-eventstream (1.1.1)
|
41
|
+
aws-mfa-secure (0.4.3)
|
41
42
|
activesupport
|
42
43
|
aws-sdk-core
|
43
44
|
aws_config
|
@@ -45,85 +46,87 @@ GEM
|
|
45
46
|
rainbow
|
46
47
|
thor
|
47
48
|
zeitwerk
|
48
|
-
aws-partitions (1.
|
49
|
-
aws-sdk-apigateway (1.
|
50
|
-
aws-sdk-core (~> 3, >= 3.
|
49
|
+
aws-partitions (1.479.0)
|
50
|
+
aws-sdk-apigateway (1.62.0)
|
51
|
+
aws-sdk-core (~> 3, >= 3.112.0)
|
51
52
|
aws-sigv4 (~> 1.1)
|
52
|
-
aws-sdk-cloudformation (1.
|
53
|
-
aws-sdk-core (~> 3, >= 3.
|
53
|
+
aws-sdk-cloudformation (1.53.0)
|
54
|
+
aws-sdk-core (~> 3, >= 3.112.0)
|
54
55
|
aws-sigv4 (~> 1.1)
|
55
|
-
aws-sdk-cloudwatchlogs (1.
|
56
|
-
aws-sdk-core (~> 3, >= 3.
|
56
|
+
aws-sdk-cloudwatchlogs (1.41.0)
|
57
|
+
aws-sdk-core (~> 3, >= 3.112.0)
|
57
58
|
aws-sigv4 (~> 1.1)
|
58
|
-
aws-sdk-core (3.
|
59
|
+
aws-sdk-core (3.117.0)
|
59
60
|
aws-eventstream (~> 1, >= 1.0.2)
|
60
61
|
aws-partitions (~> 1, >= 1.239.0)
|
61
62
|
aws-sigv4 (~> 1.1)
|
62
63
|
jmespath (~> 1.0)
|
63
|
-
aws-sdk-dynamodb (1.
|
64
|
-
aws-sdk-core (~> 3, >= 3.
|
64
|
+
aws-sdk-dynamodb (1.60.0)
|
65
|
+
aws-sdk-core (~> 3, >= 3.112.0)
|
65
66
|
aws-sigv4 (~> 1.1)
|
66
|
-
aws-sdk-kinesis (1.
|
67
|
-
aws-sdk-core (~> 3, >= 3.
|
67
|
+
aws-sdk-kinesis (1.32.1)
|
68
|
+
aws-sdk-core (~> 3, >= 3.112.0)
|
68
69
|
aws-sigv4 (~> 1.1)
|
69
|
-
aws-sdk-kms (1.
|
70
|
-
aws-sdk-core (~> 3, >= 3.
|
70
|
+
aws-sdk-kms (1.44.0)
|
71
|
+
aws-sdk-core (~> 3, >= 3.112.0)
|
71
72
|
aws-sigv4 (~> 1.1)
|
72
|
-
aws-sdk-lambda (1.
|
73
|
-
aws-sdk-core (~> 3, >= 3.
|
73
|
+
aws-sdk-lambda (1.64.0)
|
74
|
+
aws-sdk-core (~> 3, >= 3.112.0)
|
74
75
|
aws-sigv4 (~> 1.1)
|
75
|
-
aws-sdk-s3 (1.
|
76
|
-
aws-sdk-core (~> 3, >= 3.
|
76
|
+
aws-sdk-s3 (1.96.2)
|
77
|
+
aws-sdk-core (~> 3, >= 3.112.0)
|
77
78
|
aws-sdk-kms (~> 1)
|
78
79
|
aws-sigv4 (~> 1.1)
|
79
|
-
aws-sdk-sns (1.
|
80
|
-
aws-sdk-core (~> 3, >= 3.
|
80
|
+
aws-sdk-sns (1.42.0)
|
81
|
+
aws-sdk-core (~> 3, >= 3.112.0)
|
81
82
|
aws-sigv4 (~> 1.1)
|
82
|
-
aws-sdk-sqs (1.
|
83
|
-
aws-sdk-core (~> 3, >= 3.
|
83
|
+
aws-sdk-sqs (1.40.0)
|
84
|
+
aws-sdk-core (~> 3, >= 3.112.0)
|
84
85
|
aws-sigv4 (~> 1.1)
|
85
|
-
aws-sdk-ssm (1.
|
86
|
-
aws-sdk-core (~> 3, >= 3.
|
86
|
+
aws-sdk-ssm (1.112.0)
|
87
|
+
aws-sdk-core (~> 3, >= 3.112.0)
|
87
88
|
aws-sigv4 (~> 1.1)
|
88
|
-
aws-sigv4 (1.2.
|
89
|
+
aws-sigv4 (1.2.4)
|
89
90
|
aws-eventstream (~> 1, >= 1.0.2)
|
90
91
|
aws_config (0.1.0)
|
91
92
|
builder (3.2.4)
|
92
93
|
byebug (11.1.3)
|
93
|
-
capybara (3.
|
94
|
+
capybara (3.35.3)
|
94
95
|
addressable
|
95
96
|
mini_mime (>= 0.1.3)
|
96
97
|
nokogiri (~> 1.8)
|
97
98
|
rack (>= 1.6.0)
|
98
99
|
rack-test (>= 0.6.3)
|
99
|
-
regexp_parser (
|
100
|
+
regexp_parser (>= 1.5, < 3.0)
|
100
101
|
xpath (~> 3.2)
|
102
|
+
cfn-status (0.4.3)
|
103
|
+
aws-sdk-cloudformation
|
101
104
|
cfn_camelizer (0.4.9)
|
102
105
|
activesupport
|
103
106
|
memoist
|
104
107
|
rainbow
|
105
|
-
|
106
|
-
concurrent-ruby (1.1.
|
108
|
+
cfn_response (0.2.0)
|
109
|
+
concurrent-ruby (1.1.9)
|
107
110
|
crass (1.0.6)
|
108
|
-
diff-lcs (1.
|
111
|
+
diff-lcs (1.4.4)
|
109
112
|
dotenv (2.7.6)
|
110
113
|
dynomite (1.2.6)
|
111
114
|
activesupport
|
112
115
|
aws-sdk-dynamodb
|
113
116
|
rainbow
|
114
|
-
erubi (1.
|
117
|
+
erubi (1.10.0)
|
115
118
|
gems (1.2.0)
|
116
119
|
globalid (0.4.2)
|
117
120
|
activesupport (>= 4.2.0)
|
118
121
|
hashie (4.1.0)
|
119
|
-
i18n (1.8.
|
122
|
+
i18n (1.8.10)
|
120
123
|
concurrent-ruby (~> 1.0)
|
121
|
-
jets (
|
122
|
-
actionmailer (~> 6.
|
123
|
-
actionpack (~> 6.
|
124
|
-
actionview (~> 6.
|
125
|
-
activerecord (~> 6.
|
126
|
-
activesupport (~> 6.
|
124
|
+
jets (3.0.11)
|
125
|
+
actionmailer (~> 6.1.0)
|
126
|
+
actionpack (~> 6.1.0)
|
127
|
+
actionview (~> 6.1.0)
|
128
|
+
activerecord (~> 6.1.0)
|
129
|
+
activesupport (~> 6.1.0)
|
127
130
|
aws-mfa-secure (~> 0.4.0)
|
128
131
|
aws-sdk-apigateway
|
129
132
|
aws-sdk-cloudformation
|
@@ -135,50 +138,50 @@ GEM
|
|
135
138
|
aws-sdk-sns
|
136
139
|
aws-sdk-sqs
|
137
140
|
aws-sdk-ssm
|
141
|
+
cfn-status
|
138
142
|
cfn_camelizer (~> 0.4.6)
|
139
|
-
|
143
|
+
cfn_response
|
140
144
|
dotenv
|
141
145
|
gems
|
142
146
|
hashie
|
143
|
-
jets-gems
|
144
147
|
jets-html-sanitizer
|
145
148
|
kramdown
|
146
149
|
memoist
|
147
|
-
|
150
|
+
mini_mime
|
148
151
|
rack
|
149
|
-
railties (~> 6.
|
152
|
+
railties (~> 6.1.0)
|
150
153
|
rainbow
|
151
154
|
recursive-open-struct
|
155
|
+
serverlessgems (~> 0.1.4)
|
152
156
|
shotgun
|
153
157
|
text-table
|
154
158
|
thor
|
155
159
|
zeitwerk
|
156
|
-
jets-gems (0.2.2)
|
157
|
-
gems
|
158
160
|
jets-html-sanitizer (1.0.4)
|
159
161
|
loofah (~> 2.2, >= 2.2.2)
|
160
162
|
jmespath (1.4.0)
|
161
|
-
kramdown (2.3.
|
163
|
+
kramdown (2.3.1)
|
162
164
|
rexml
|
163
165
|
launchy (2.5.0)
|
164
166
|
addressable (~> 2.7)
|
165
|
-
loofah (2.
|
167
|
+
loofah (2.10.0)
|
166
168
|
crass (~> 1.0.2)
|
167
169
|
nokogiri (>= 1.5.9)
|
168
170
|
mail (2.7.1)
|
169
171
|
mini_mime (>= 0.1.1)
|
170
172
|
memoist (0.16.2)
|
171
173
|
method_source (1.0.0)
|
172
|
-
|
173
|
-
|
174
|
-
|
175
|
-
|
176
|
-
|
177
|
-
|
178
|
-
|
179
|
-
public_suffix (4.0.
|
180
|
-
puma (5.
|
174
|
+
mini_mime (1.1.0)
|
175
|
+
mini_portile2 (2.6.1)
|
176
|
+
minitest (5.14.4)
|
177
|
+
nio4r (2.5.7)
|
178
|
+
nokogiri (1.12.2)
|
179
|
+
mini_portile2 (~> 2.6.1)
|
180
|
+
racc (~> 1.4)
|
181
|
+
public_suffix (4.0.6)
|
182
|
+
puma (5.4.0)
|
181
183
|
nio4r (~> 2.0)
|
184
|
+
racc (1.5.2)
|
182
185
|
rack (2.2.3)
|
183
186
|
rack-test (1.1.0)
|
184
187
|
rack (>= 1.0, < 3)
|
@@ -187,42 +190,45 @@ GEM
|
|
187
190
|
nokogiri (>= 1.6)
|
188
191
|
rails-html-sanitizer (1.3.0)
|
189
192
|
loofah (~> 2.3)
|
190
|
-
railties (6.
|
191
|
-
actionpack (= 6.
|
192
|
-
activesupport (= 6.
|
193
|
+
railties (6.1.4)
|
194
|
+
actionpack (= 6.1.4)
|
195
|
+
activesupport (= 6.1.4)
|
193
196
|
method_source
|
194
|
-
rake (>= 0.
|
195
|
-
thor (
|
197
|
+
rake (>= 0.13)
|
198
|
+
thor (~> 1.0)
|
196
199
|
rainbow (3.0.0)
|
197
|
-
rake (13.0.
|
198
|
-
recursive-open-struct (1.1.
|
199
|
-
regexp_parser (
|
200
|
-
rexml (3.2.
|
201
|
-
rspec (3.
|
202
|
-
rspec-core (~> 3.
|
203
|
-
rspec-expectations (~> 3.
|
204
|
-
rspec-mocks (~> 3.
|
205
|
-
rspec-core (3.
|
206
|
-
rspec-support (~> 3.
|
207
|
-
rspec-expectations (3.
|
200
|
+
rake (13.0.6)
|
201
|
+
recursive-open-struct (1.1.3)
|
202
|
+
regexp_parser (2.0.3)
|
203
|
+
rexml (3.2.5)
|
204
|
+
rspec (3.10.0)
|
205
|
+
rspec-core (~> 3.10.0)
|
206
|
+
rspec-expectations (~> 3.10.0)
|
207
|
+
rspec-mocks (~> 3.10.0)
|
208
|
+
rspec-core (3.10.0)
|
209
|
+
rspec-support (~> 3.10.0)
|
210
|
+
rspec-expectations (3.10.0)
|
208
211
|
diff-lcs (>= 1.2.0, < 2.0)
|
209
|
-
rspec-support (~> 3.
|
210
|
-
rspec-mocks (3.
|
212
|
+
rspec-support (~> 3.10.0)
|
213
|
+
rspec-mocks (3.10.0)
|
211
214
|
diff-lcs (>= 1.2.0, < 2.0)
|
212
|
-
rspec-support (~> 3.
|
213
|
-
rspec-support (3.
|
215
|
+
rspec-support (~> 3.10.0)
|
216
|
+
rspec-support (3.10.0)
|
214
217
|
rspec_junit_formatter (0.4.1)
|
215
218
|
rspec-core (>= 2, < 4, != 2.12.0)
|
219
|
+
serverlessgems (0.1.4)
|
220
|
+
gems
|
221
|
+
memoist
|
222
|
+
zeitwerk
|
216
223
|
shotgun (0.9.2)
|
217
224
|
rack (>= 1.0)
|
218
225
|
text-table (1.2.4)
|
219
|
-
thor (1.0
|
220
|
-
|
221
|
-
|
222
|
-
thread_safe (~> 0.1)
|
226
|
+
thor (1.1.0)
|
227
|
+
tzinfo (2.0.4)
|
228
|
+
concurrent-ruby (~> 1.0)
|
223
229
|
xpath (3.2.0)
|
224
230
|
nokogiri (~> 1.8)
|
225
|
-
zeitwerk (2.4.
|
231
|
+
zeitwerk (2.4.2)
|
226
232
|
|
227
233
|
PLATFORMS
|
228
234
|
ruby
|
@@ -233,6 +239,7 @@ DEPENDENCIES
|
|
233
239
|
dynomite
|
234
240
|
jets
|
235
241
|
launchy
|
242
|
+
nokogiri (~> 1.12.2)
|
236
243
|
puma
|
237
244
|
rack
|
238
245
|
rspec
|