my_api_client 0.15.0 → 0.19.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (147) hide show
  1. checksums.yaml +4 -4
  2. data/.circleci/config.yml +169 -95
  3. data/.dependabot/config.yml +2 -5
  4. data/.rubocop.yml +5 -1
  5. data/.rubocop_challenge.yml +1 -0
  6. data/.rubocop_todo.yml +53 -1
  7. data/CHANGELOG.md +171 -0
  8. data/Gemfile +0 -3
  9. data/Gemfile.lock +70 -64
  10. data/README.jp.md +97 -24
  11. data/bin/console +4 -0
  12. data/example/api_clients/application_api_client.rb +2 -10
  13. data/example/api_clients/my_rest_api_client.rb +9 -3
  14. data/gemfiles/{rails_4.2.gemfile → rails_6.1.gemfile} +1 -1
  15. data/lib/generators/rails/USAGE +1 -1
  16. data/lib/generators/rails/api_client_generator.rb +6 -0
  17. data/lib/generators/rails/templates/api_client.rb.erb +1 -1
  18. data/lib/generators/rails/templates/application_api_client.rb.erb +0 -11
  19. data/lib/generators/rspec/USAGE +1 -1
  20. data/lib/generators/rspec/api_client_generator.rb +6 -0
  21. data/lib/generators/rspec/templates/api_client_spec.rb.erb +23 -16
  22. data/lib/my_api_client.rb +5 -0
  23. data/lib/my_api_client/base.rb +4 -9
  24. data/lib/my_api_client/default_error_handlers.rb +64 -0
  25. data/lib/my_api_client/error_handling.rb +3 -4
  26. data/lib/my_api_client/error_handling/generator.rb +23 -7
  27. data/lib/my_api_client/errors.rb +1 -53
  28. data/lib/my_api_client/errors/api_limit_error.rb +6 -0
  29. data/lib/my_api_client/errors/client_error.rb +93 -0
  30. data/lib/my_api_client/errors/network_error.rb +43 -0
  31. data/lib/my_api_client/errors/server_error.rb +42 -0
  32. data/lib/my_api_client/params/params.rb +1 -3
  33. data/lib/my_api_client/request.rb +2 -2
  34. data/lib/my_api_client/request/basic.rb +1 -3
  35. data/lib/my_api_client/request/executor.rb +1 -1
  36. data/lib/my_api_client/version.rb +1 -1
  37. data/my_api/Gemfile.lock +89 -87
  38. data/my_api/app/controllers/pagination_controller.rb +1 -1
  39. data/my_api/spec/controllers/rest_controller_spec.rb +23 -5
  40. data/my_api_client.gemspec +2 -2
  41. data/rails_app/rails_5.2/.rspec +3 -0
  42. data/rails_app/rails_5.2/Gemfile +17 -0
  43. data/rails_app/rails_5.2/Gemfile.lock +174 -0
  44. data/rails_app/rails_5.2/README.md +24 -0
  45. data/rails_app/rails_5.2/Rakefile +8 -0
  46. data/rails_app/rails_5.2/app/controllers/application_controller.rb +4 -0
  47. data/rails_app/rails_5.2/app/jobs/application_job.rb +4 -0
  48. data/rails_app/rails_5.2/bin/bundle +5 -0
  49. data/rails_app/rails_5.2/bin/rails +6 -0
  50. data/rails_app/rails_5.2/bin/rake +6 -0
  51. data/rails_app/rails_5.2/bin/setup +27 -0
  52. data/rails_app/rails_5.2/bin/update +27 -0
  53. data/rails_app/rails_5.2/config.ru +7 -0
  54. data/rails_app/rails_5.2/config/application.rb +37 -0
  55. data/rails_app/rails_5.2/config/boot.rb +6 -0
  56. data/rails_app/rails_5.2/config/credentials.yml.enc +1 -0
  57. data/rails_app/rails_5.2/config/environment.rb +7 -0
  58. data/rails_app/rails_5.2/config/environments/development.rb +41 -0
  59. data/rails_app/rails_5.2/config/environments/production.rb +70 -0
  60. data/rails_app/rails_5.2/config/environments/test.rb +38 -0
  61. data/rails_app/rails_5.2/config/initializers/application_controller_renderer.rb +9 -0
  62. data/rails_app/rails_5.2/config/initializers/backtrace_silencers.rb +8 -0
  63. data/rails_app/rails_5.2/config/initializers/cors.rb +17 -0
  64. data/rails_app/rails_5.2/config/initializers/filter_parameter_logging.rb +6 -0
  65. data/rails_app/rails_5.2/config/initializers/inflections.rb +17 -0
  66. data/rails_app/rails_5.2/config/initializers/mime_types.rb +5 -0
  67. data/rails_app/rails_5.2/config/initializers/wrap_parameters.rb +11 -0
  68. data/rails_app/rails_5.2/config/locales/en.yml +33 -0
  69. data/rails_app/rails_5.2/config/routes.rb +5 -0
  70. data/rails_app/rails_5.2/config/spring.rb +8 -0
  71. data/rails_app/rails_5.2/public/robots.txt +1 -0
  72. data/rails_app/rails_5.2/spec/rails_helper.rb +14 -0
  73. data/rails_app/rails_5.2/spec/spec_helper.rb +13 -0
  74. data/rails_app/rails_6.0/.rspec +3 -0
  75. data/rails_app/rails_6.0/Gemfile +17 -0
  76. data/rails_app/rails_6.0/Gemfile.lock +190 -0
  77. data/rails_app/rails_6.0/README.md +24 -0
  78. data/rails_app/rails_6.0/Rakefile +8 -0
  79. data/rails_app/rails_6.0/app/controllers/application_controller.rb +4 -0
  80. data/rails_app/rails_6.0/app/jobs/application_job.rb +9 -0
  81. data/rails_app/rails_6.0/bin/rails +6 -0
  82. data/rails_app/rails_6.0/bin/rake +6 -0
  83. data/rails_app/rails_6.0/bin/setup +27 -0
  84. data/rails_app/rails_6.0/config.ru +7 -0
  85. data/rails_app/rails_6.0/config/application.rb +39 -0
  86. data/rails_app/rails_6.0/config/boot.rb +6 -0
  87. data/rails_app/rails_6.0/config/credentials.yml.enc +1 -0
  88. data/rails_app/rails_6.0/config/environment.rb +7 -0
  89. data/rails_app/rails_6.0/config/environments/development.rb +39 -0
  90. data/rails_app/rails_6.0/config/environments/production.rb +90 -0
  91. data/rails_app/rails_6.0/config/environments/test.rb +41 -0
  92. data/rails_app/rails_6.0/config/initializers/application_controller_renderer.rb +9 -0
  93. data/rails_app/rails_6.0/config/initializers/backtrace_silencers.rb +8 -0
  94. data/rails_app/rails_6.0/config/initializers/cors.rb +17 -0
  95. data/rails_app/rails_6.0/config/initializers/filter_parameter_logging.rb +6 -0
  96. data/rails_app/rails_6.0/config/initializers/inflections.rb +17 -0
  97. data/rails_app/rails_6.0/config/initializers/mime_types.rb +5 -0
  98. data/rails_app/rails_6.0/config/initializers/wrap_parameters.rb +11 -0
  99. data/rails_app/rails_6.0/config/locales/en.yml +33 -0
  100. data/rails_app/rails_6.0/config/routes.rb +5 -0
  101. data/rails_app/rails_6.0/config/spring.rb +8 -0
  102. data/rails_app/rails_6.0/public/robots.txt +1 -0
  103. data/rails_app/rails_6.0/spec/rails_helper.rb +14 -0
  104. data/rails_app/rails_6.0/spec/spec_helper.rb +13 -0
  105. data/rails_app/rails_6.1/.gitattributes +8 -0
  106. data/rails_app/rails_6.1/.gitignore +28 -0
  107. data/rails_app/rails_6.1/.rspec +3 -0
  108. data/rails_app/rails_6.1/Gemfile +17 -0
  109. data/rails_app/rails_6.1/Gemfile.lock +197 -0
  110. data/rails_app/rails_6.1/README.md +24 -0
  111. data/rails_app/rails_6.1/Rakefile +6 -0
  112. data/rails_app/rails_6.1/app/controllers/application_controller.rb +4 -0
  113. data/rails_app/rails_6.1/app/controllers/concerns/.keep +0 -0
  114. data/rails_app/rails_6.1/app/javascript/.keep +0 -0
  115. data/rails_app/rails_6.1/app/models/application_record.rb +5 -0
  116. data/rails_app/rails_6.1/app/models/concerns/.keep +0 -0
  117. data/rails_app/rails_6.1/bin/bundle +114 -0
  118. data/rails_app/rails_6.1/bin/rails +4 -0
  119. data/rails_app/rails_6.1/bin/rake +4 -0
  120. data/rails_app/rails_6.1/bin/setup +33 -0
  121. data/rails_app/rails_6.1/config.ru +6 -0
  122. data/rails_app/rails_6.1/config/application.rb +42 -0
  123. data/rails_app/rails_6.1/config/boot.rb +5 -0
  124. data/rails_app/rails_6.1/config/credentials.yml.enc +1 -0
  125. data/rails_app/rails_6.1/config/database.yml +25 -0
  126. data/rails_app/rails_6.1/config/environment.rb +7 -0
  127. data/rails_app/rails_6.1/config/environments/development.rb +59 -0
  128. data/rails_app/rails_6.1/config/environments/production.rb +97 -0
  129. data/rails_app/rails_6.1/config/environments/test.rb +51 -0
  130. data/rails_app/rails_6.1/config/initializers/application_controller_renderer.rb +9 -0
  131. data/rails_app/rails_6.1/config/initializers/backtrace_silencers.rb +10 -0
  132. data/rails_app/rails_6.1/config/initializers/cors.rb +17 -0
  133. data/rails_app/rails_6.1/config/initializers/filter_parameter_logging.rb +8 -0
  134. data/rails_app/rails_6.1/config/initializers/inflections.rb +17 -0
  135. data/rails_app/rails_6.1/config/initializers/mime_types.rb +5 -0
  136. data/rails_app/rails_6.1/config/initializers/wrap_parameters.rb +16 -0
  137. data/rails_app/rails_6.1/config/locales/en.yml +33 -0
  138. data/rails_app/rails_6.1/config/routes.rb +5 -0
  139. data/rails_app/rails_6.1/db/seeds.rb +8 -0
  140. data/rails_app/rails_6.1/lib/tasks/.keep +0 -0
  141. data/rails_app/rails_6.1/public/robots.txt +1 -0
  142. data/rails_app/rails_6.1/spec/rails_helper.rb +14 -0
  143. data/rails_app/rails_6.1/spec/spec_helper.rb +13 -0
  144. data/rails_app/rails_6.1/tmp/.keep +0 -0
  145. data/rails_app/rails_6.1/tmp/pids/.keep +0 -0
  146. data/rails_app/rails_6.1/vendor/.keep +0 -0
  147. metadata +119 -7
@@ -0,0 +1,6 @@
1
+ # frozen_string_literal: true
2
+
3
+ module MyApiClient
4
+ # For API request limit error
5
+ class ApiLimitError < Error; end
6
+ end
@@ -0,0 +1,93 @@
1
+ # frozen_string_literal: true
2
+
3
+ module MyApiClient
4
+ # For 4xx client error
5
+ class ClientError < Error
6
+ # 400 Bad Request
7
+ class BadRequest < ClientError; end
8
+
9
+ # 401 Unauthorized
10
+ class Unauthorized < ClientError; end
11
+
12
+ # 402 Payment Required
13
+ class PaymentRequired < ClientError; end
14
+
15
+ # 403 Forbidden
16
+ class Forbidden < ClientError; end
17
+
18
+ # 404 Not Found
19
+ class NotFound < ClientError; end
20
+
21
+ # 405 Method Not Allowed
22
+ class MethodNotAllowed < ClientError; end
23
+
24
+ # 406 Not Acceptable
25
+ class NotAcceptable < ClientError; end
26
+
27
+ # 407 Proxy Authentication Required
28
+ class ProxyAuthenticationRequired < ClientError; end
29
+
30
+ # 408 Request Timeout
31
+ class RequestTimeout < ClientError; end
32
+
33
+ # 409 Conflict
34
+ class Conflict < ClientError; end
35
+
36
+ # 410 Gone
37
+ class Gone < ClientError; end
38
+
39
+ # 411 Length Required
40
+ class LengthRequired < ClientError; end
41
+
42
+ # 412 Precondition Failed
43
+ class PreconditionFailed < ClientError; end
44
+
45
+ # 413 Payload Too Large
46
+ class RequestEntityTooLarge < ClientError; end
47
+
48
+ # 414 URI Too Long
49
+ class RequestUriTooLong < ClientError; end
50
+
51
+ # 415 Unsupported Media Type
52
+ class UnsupportedMediaType < ClientError; end
53
+
54
+ # 416 Range Not Satisfiable
55
+ class RequestedRangeNotSatisfiable < ClientError; end
56
+
57
+ # 417 Expectation Failed
58
+ class ExpectationFailed < ClientError; end
59
+
60
+ # 418 I'm a teapot
61
+ class IamTeapot < ClientError; end
62
+
63
+ # 421 Misdirected Request
64
+ class MisdirectedRequest < ClientError; end
65
+
66
+ # 422 Unprocessable Entity
67
+ class UnprocessableEntity < ClientError; end
68
+
69
+ # 423 Locked
70
+ class Locked < ClientError; end
71
+
72
+ # 424 Failed Dependency
73
+ class FailedDependency < ClientError; end
74
+
75
+ # 425 Too Early
76
+ class TooEarly < ClientError; end
77
+
78
+ # 426 Upgrade Required
79
+ class UpgradeRequired < ClientError; end
80
+
81
+ # 428 Precondition Required
82
+ class PreconditionRequired < ClientError; end
83
+
84
+ # 429 Too Many Requests
85
+ class TooManyRequests < ClientError; end
86
+
87
+ # 431 Request Header Fields Too Large
88
+ class RequestHeaderFieldsTooLarge < ClientError; end
89
+
90
+ # 451 Unavailable for Legal Reasons
91
+ class UnavailableForLegalReasons < ClientError; end
92
+ end
93
+ end
@@ -0,0 +1,43 @@
1
+ # frozen_string_literal: true
2
+
3
+ module MyApiClient
4
+ NETWORK_ERRORS = [
5
+ Faraday::TimeoutError,
6
+ Faraday::ConnectionFailed,
7
+ Faraday::SSLError,
8
+ OpenSSL::SSL::SSLError,
9
+ Net::OpenTimeout,
10
+ Net::ReadTimeout,
11
+ SocketError,
12
+ ].freeze
13
+
14
+ # Raises it when occurred to some network error
15
+ class NetworkError < Error
16
+ attr_reader :original_error
17
+
18
+ # Initialize the error class
19
+ #
20
+ # @param params [MyApiClient::Params::Params]
21
+ # The request and response parameters
22
+ # @param original_error [StandardError]
23
+ # Some network error
24
+ def initialize(params, original_error)
25
+ @original_error = original_error
26
+ super params, original_error.message
27
+ end
28
+
29
+ # Returns contents as string for to be readable for human
30
+ #
31
+ # @return [String] Contents as string
32
+ def inspect
33
+ { error: original_error, params: params }.inspect
34
+ end
35
+
36
+ # Generate metadata for bugsnag.
37
+ #
38
+ # @return [Hash] Metadata for bugsnag
39
+ def metadata
40
+ super.merge(original_error: original_error.inspect)
41
+ end
42
+ end
43
+ end
@@ -0,0 +1,42 @@
1
+ # frozen_string_literal: true
2
+
3
+ module MyApiClient
4
+ # For 5xx server error
5
+ class ServerError < Error
6
+ # 500 Internal Server Error
7
+ class InternalServerError < ServerError; end
8
+
9
+ # 501 Not Implemented
10
+ class NotImplemented < ServerError; end
11
+
12
+ # 502 Bad Gateway
13
+ class BadGateway < ServerError; end
14
+
15
+ # 503 Service Unavailable
16
+ class ServiceUnavailable < ServerError; end
17
+
18
+ # 504 Gateway Timeout
19
+ class GatewayTimeout < ServerError; end
20
+
21
+ # 505 HTTP Version Not Supported
22
+ class HttpVersionNotSupported < ServerError; end
23
+
24
+ # 506 Variant Also Negotiates
25
+ class VariantAlsoNegotiates < ServerError; end
26
+
27
+ # 507 Insufficient Storage
28
+ class InsufficientStorage < ServerError; end
29
+
30
+ # 508 Loop Detected
31
+ class LoopDetected < ServerError; end
32
+
33
+ # 509 Bandwidth Limit Exceeded
34
+ class BandwidthLimitExceeded < ServerError; end
35
+
36
+ # 510 Not Extended
37
+ class NotExtended < ServerError; end
38
+
39
+ # 511 Network Authentication Required
40
+ class NetworkAuthenticationRequired < ServerError; end
41
+ end
42
+ end
@@ -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.each_with_object({}) do |(key, value), memo|
44
- memo[:"request_#{key}"] = value
45
- end
43
+ request.metadata.transform_keys { |key| :"request_#{key}" }
46
44
  else
47
45
  {}
48
46
  end
@@ -11,7 +11,7 @@ module MyApiClient
11
11
  # Executes HTTP request with relative URI.
12
12
  #
13
13
  # @param http_method [Symbol]
14
- # HTTP method. e.g. `:get`, `:post`, `:patch` and `:delete`.
14
+ # HTTP method. e.g. `:get`, `:post`, `:put`, `:patch` and `:delete`.
15
15
  # @param pathname [String]
16
16
  # Pathname of the request target URL.
17
17
  # It's joined with the defined by `endpoint`.
@@ -32,7 +32,7 @@ module MyApiClient
32
32
  # Executes HTTP request with absolute URI.
33
33
  #
34
34
  # @param http_method [Symbol]
35
- # HTTP method. e.g. `:get`, `:post`, `:patch` and `:delete`.
35
+ # HTTP method. e.g. `:get`, `:post`, `:put`, `:patch` and `:delete`.
36
36
  # @param uri [URI]
37
37
  # Request target URI including query strings.
38
38
  # @param headers [Hash, nil]
@@ -4,7 +4,7 @@ module MyApiClient
4
4
  module Request
5
5
  # Provides basic HTTP request method.
6
6
  module Basic
7
- HTTP_METHODS = %i[get post patch delete].freeze
7
+ HTTP_METHODS = %i[get post put patch delete].freeze
8
8
 
9
9
  HTTP_METHODS.each do |http_method|
10
10
  class_eval <<~METHOD, __FILE__, __LINE__ + 1
@@ -27,8 +27,6 @@ module MyApiClient
27
27
  end
28
28
  METHOD
29
29
  end
30
-
31
- alias put patch
32
30
  end
33
31
  end
34
32
  end
@@ -32,7 +32,7 @@ module MyApiClient
32
32
  def call
33
33
  request_logger.info('Start')
34
34
  response = api_request
35
- request_logger.info("Duration #{response.timing} sec")
35
+ request_logger.info("Duration #{response.timing.in_milliseconds} msec")
36
36
  verify(response)
37
37
  rescue MyApiClient::Error => e
38
38
  request_logger.warn("Failure (#{e.message})")
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module MyApiClient
4
- VERSION = '0.15.0'
4
+ VERSION = '0.19.0'
5
5
  end
@@ -1,43 +1,43 @@
1
1
  GEM
2
2
  remote: https://rubygems.org/
3
3
  specs:
4
- actionmailer (6.0.2.2)
5
- actionpack (= 6.0.2.2)
6
- actionview (= 6.0.2.2)
7
- activejob (= 6.0.2.2)
4
+ actionmailer (6.0.3.4)
5
+ actionpack (= 6.0.3.4)
6
+ actionview (= 6.0.3.4)
7
+ activejob (= 6.0.3.4)
8
8
  mail (~> 2.5, >= 2.5.4)
9
9
  rails-dom-testing (~> 2.0)
10
- actionpack (6.0.2.2)
11
- actionview (= 6.0.2.2)
12
- activesupport (= 6.0.2.2)
10
+ actionpack (6.0.3.4)
11
+ actionview (= 6.0.3.4)
12
+ activesupport (= 6.0.3.4)
13
13
  rack (~> 2.0, >= 2.0.8)
14
14
  rack-test (>= 0.6.3)
15
15
  rails-dom-testing (~> 2.0)
16
16
  rails-html-sanitizer (~> 1.0, >= 1.2.0)
17
- actionview (6.0.2.2)
18
- activesupport (= 6.0.2.2)
17
+ actionview (6.0.3.4)
18
+ activesupport (= 6.0.3.4)
19
19
  builder (~> 3.1)
20
20
  erubi (~> 1.4)
21
21
  rails-dom-testing (~> 2.0)
22
22
  rails-html-sanitizer (~> 1.1, >= 1.2.0)
23
- activejob (6.0.2.2)
24
- activesupport (= 6.0.2.2)
23
+ activejob (6.0.3.4)
24
+ activesupport (= 6.0.3.4)
25
25
  globalid (>= 0.3.6)
26
- activemodel (6.0.2.2)
27
- activesupport (= 6.0.2.2)
28
- activerecord (6.0.2.2)
29
- activemodel (= 6.0.2.2)
30
- activesupport (= 6.0.2.2)
31
- activesupport (6.0.2.2)
26
+ activemodel (6.0.3.4)
27
+ activesupport (= 6.0.3.4)
28
+ activerecord (6.0.3.4)
29
+ activemodel (= 6.0.3.4)
30
+ activesupport (= 6.0.3.4)
31
+ activesupport (6.0.3.4)
32
32
  concurrent-ruby (~> 1.0, >= 1.0.2)
33
33
  i18n (>= 0.7, < 2)
34
34
  minitest (~> 5.1)
35
35
  tzinfo (~> 1.1)
36
- zeitwerk (~> 2.2)
36
+ zeitwerk (~> 2.2, >= 2.2.2)
37
37
  addressable (2.7.0)
38
38
  public_suffix (>= 2.0.2, < 5.0)
39
- aws-eventstream (1.0.3)
40
- aws-mfa-secure (0.4.0)
39
+ aws-eventstream (1.1.0)
40
+ aws-mfa-secure (0.4.2)
41
41
  activesupport
42
42
  aws-sdk-core
43
43
  aws_config
@@ -45,52 +45,52 @@ GEM
45
45
  rainbow
46
46
  thor
47
47
  zeitwerk
48
- aws-partitions (1.285.0)
49
- aws-sdk-apigateway (1.37.0)
50
- aws-sdk-core (~> 3, >= 3.71.0)
48
+ aws-partitions (1.402.0)
49
+ aws-sdk-apigateway (1.56.0)
50
+ aws-sdk-core (~> 3, >= 3.109.0)
51
51
  aws-sigv4 (~> 1.1)
52
- aws-sdk-cloudformation (1.31.0)
53
- aws-sdk-core (~> 3, >= 3.71.0)
52
+ aws-sdk-cloudformation (1.46.0)
53
+ aws-sdk-core (~> 3, >= 3.109.0)
54
54
  aws-sigv4 (~> 1.1)
55
- aws-sdk-cloudwatchlogs (1.29.0)
56
- aws-sdk-core (~> 3, >= 3.71.0)
55
+ aws-sdk-cloudwatchlogs (1.38.0)
56
+ aws-sdk-core (~> 3, >= 3.109.0)
57
57
  aws-sigv4 (~> 1.1)
58
- aws-sdk-core (3.91.1)
59
- aws-eventstream (~> 1.0, >= 1.0.2)
58
+ aws-sdk-core (3.109.3)
59
+ aws-eventstream (~> 1, >= 1.0.2)
60
60
  aws-partitions (~> 1, >= 1.239.0)
61
61
  aws-sigv4 (~> 1.1)
62
62
  jmespath (~> 1.0)
63
- aws-sdk-dynamodb (1.45.0)
64
- aws-sdk-core (~> 3, >= 3.71.0)
63
+ aws-sdk-dynamodb (1.58.0)
64
+ aws-sdk-core (~> 3, >= 3.109.0)
65
65
  aws-sigv4 (~> 1.1)
66
- aws-sdk-kinesis (1.21.0)
67
- aws-sdk-core (~> 3, >= 3.71.0)
66
+ aws-sdk-kinesis (1.30.0)
67
+ aws-sdk-core (~> 3, >= 3.109.0)
68
68
  aws-sigv4 (~> 1.1)
69
- aws-sdk-kms (1.30.0)
70
- aws-sdk-core (~> 3, >= 3.71.0)
69
+ aws-sdk-kms (1.39.0)
70
+ aws-sdk-core (~> 3, >= 3.109.0)
71
71
  aws-sigv4 (~> 1.1)
72
- aws-sdk-lambda (1.37.0)
73
- aws-sdk-core (~> 3, >= 3.71.0)
72
+ aws-sdk-lambda (1.55.0)
73
+ aws-sdk-core (~> 3, >= 3.109.0)
74
74
  aws-sigv4 (~> 1.1)
75
- aws-sdk-s3 (1.61.1)
76
- aws-sdk-core (~> 3, >= 3.83.0)
75
+ aws-sdk-s3 (1.86.0)
76
+ aws-sdk-core (~> 3, >= 3.109.0)
77
77
  aws-sdk-kms (~> 1)
78
78
  aws-sigv4 (~> 1.1)
79
- aws-sdk-sns (1.22.0)
80
- aws-sdk-core (~> 3, >= 3.71.0)
79
+ aws-sdk-sns (1.36.0)
80
+ aws-sdk-core (~> 3, >= 3.109.0)
81
81
  aws-sigv4 (~> 1.1)
82
- aws-sdk-sqs (1.24.0)
83
- aws-sdk-core (~> 3, >= 3.71.0)
82
+ aws-sdk-sqs (1.34.0)
83
+ aws-sdk-core (~> 3, >= 3.109.0)
84
84
  aws-sigv4 (~> 1.1)
85
- aws-sdk-ssm (1.73.0)
86
- aws-sdk-core (~> 3, >= 3.71.0)
85
+ aws-sdk-ssm (1.98.0)
86
+ aws-sdk-core (~> 3, >= 3.109.0)
87
87
  aws-sigv4 (~> 1.1)
88
- aws-sigv4 (1.1.1)
89
- aws-eventstream (~> 1.0, >= 1.0.2)
88
+ aws-sigv4 (1.2.2)
89
+ aws-eventstream (~> 1, >= 1.0.2)
90
90
  aws_config (0.1.0)
91
91
  builder (3.2.4)
92
- byebug (11.1.1)
93
- capybara (3.31.0)
92
+ byebug (11.1.3)
93
+ capybara (3.34.0)
94
94
  addressable
95
95
  mini_mime (>= 0.1.3)
96
96
  nokogiri (~> 1.8)
@@ -103,22 +103,22 @@ GEM
103
103
  memoist
104
104
  rainbow
105
105
  cfnresponse (0.4.0)
106
- concurrent-ruby (1.1.6)
106
+ concurrent-ruby (1.1.7)
107
107
  crass (1.0.6)
108
- diff-lcs (1.3)
109
- dotenv (2.7.5)
110
- dynomite (1.2.5)
108
+ diff-lcs (1.4.4)
109
+ dotenv (2.7.6)
110
+ dynomite (1.2.6)
111
111
  activesupport
112
112
  aws-sdk-dynamodb
113
113
  rainbow
114
- erubi (1.9.0)
114
+ erubi (1.10.0)
115
115
  gems (1.2.0)
116
116
  globalid (0.4.2)
117
117
  activesupport (>= 4.2.0)
118
118
  hashie (4.1.0)
119
- i18n (1.8.2)
119
+ i18n (1.8.5)
120
120
  concurrent-ruby (~> 1.0)
121
- jets (2.3.14)
121
+ jets (2.3.18)
122
122
  actionmailer (~> 6.0.0)
123
123
  actionpack (~> 6.0.0)
124
124
  actionview (~> 6.0.0)
@@ -142,7 +142,6 @@ GEM
142
142
  hashie
143
143
  jets-gems
144
144
  jets-html-sanitizer
145
- json
146
145
  kramdown
147
146
  memoist
148
147
  mimemagic
@@ -159,28 +158,30 @@ GEM
159
158
  jets-html-sanitizer (1.0.4)
160
159
  loofah (~> 2.2, >= 2.2.2)
161
160
  jmespath (1.4.0)
162
- json (2.3.0)
163
- kramdown (2.1.0)
161
+ kramdown (2.3.0)
162
+ rexml
164
163
  launchy (2.5.0)
165
164
  addressable (~> 2.7)
166
- loofah (2.4.0)
165
+ loofah (2.8.0)
167
166
  crass (~> 1.0.2)
168
167
  nokogiri (>= 1.5.9)
169
168
  mail (2.7.1)
170
169
  mini_mime (>= 0.1.1)
171
170
  memoist (0.16.2)
172
171
  method_source (1.0.0)
173
- mimemagic (0.3.4)
172
+ mimemagic (0.3.5)
174
173
  mini_mime (1.0.2)
175
- mini_portile2 (2.4.0)
176
- minitest (5.14.0)
177
- nio4r (2.5.2)
178
- nokogiri (1.10.9)
179
- mini_portile2 (~> 2.4.0)
180
- public_suffix (4.0.3)
181
- puma (4.3.3)
174
+ mini_portile2 (2.5.0)
175
+ minitest (5.14.2)
176
+ nio4r (2.5.4)
177
+ nokogiri (1.11.0)
178
+ mini_portile2 (~> 2.5.0)
179
+ racc (~> 1.4)
180
+ public_suffix (4.0.6)
181
+ puma (5.1.1)
182
182
  nio4r (~> 2.0)
183
- rack (2.2.2)
183
+ racc (1.5.2)
184
+ rack (2.2.3)
184
185
  rack-test (1.1.0)
185
186
  rack (>= 1.0, < 3)
186
187
  rails-dom-testing (2.0.3)
@@ -188,29 +189,30 @@ GEM
188
189
  nokogiri (>= 1.6)
189
190
  rails-html-sanitizer (1.3.0)
190
191
  loofah (~> 2.3)
191
- railties (6.0.2.2)
192
- actionpack (= 6.0.2.2)
193
- activesupport (= 6.0.2.2)
192
+ railties (6.0.3.4)
193
+ actionpack (= 6.0.3.4)
194
+ activesupport (= 6.0.3.4)
194
195
  method_source
195
196
  rake (>= 0.8.7)
196
197
  thor (>= 0.20.3, < 2.0)
197
198
  rainbow (3.0.0)
198
199
  rake (13.0.1)
199
- recursive-open-struct (1.1.1)
200
- regexp_parser (1.7.0)
201
- rspec (3.9.0)
202
- rspec-core (~> 3.9.0)
203
- rspec-expectations (~> 3.9.0)
204
- rspec-mocks (~> 3.9.0)
205
- rspec-core (3.9.1)
206
- rspec-support (~> 3.9.1)
207
- rspec-expectations (3.9.1)
200
+ recursive-open-struct (1.1.3)
201
+ regexp_parser (1.8.2)
202
+ rexml (3.2.4)
203
+ rspec (3.10.0)
204
+ rspec-core (~> 3.10.0)
205
+ rspec-expectations (~> 3.10.0)
206
+ rspec-mocks (~> 3.10.0)
207
+ rspec-core (3.10.0)
208
+ rspec-support (~> 3.10.0)
209
+ rspec-expectations (3.10.0)
208
210
  diff-lcs (>= 1.2.0, < 2.0)
209
- rspec-support (~> 3.9.0)
210
- rspec-mocks (3.9.1)
211
+ rspec-support (~> 3.10.0)
212
+ rspec-mocks (3.10.0)
211
213
  diff-lcs (>= 1.2.0, < 2.0)
212
- rspec-support (~> 3.9.0)
213
- rspec-support (3.9.2)
214
+ rspec-support (~> 3.10.0)
215
+ rspec-support (3.10.0)
214
216
  rspec_junit_formatter (0.4.1)
215
217
  rspec-core (>= 2, < 4, != 2.12.0)
216
218
  shotgun (0.9.2)
@@ -218,11 +220,11 @@ GEM
218
220
  text-table (1.2.4)
219
221
  thor (1.0.1)
220
222
  thread_safe (0.3.6)
221
- tzinfo (1.2.6)
223
+ tzinfo (1.2.8)
222
224
  thread_safe (~> 0.1)
223
225
  xpath (3.2.0)
224
226
  nokogiri (~> 1.8)
225
- zeitwerk (2.3.0)
227
+ zeitwerk (2.4.2)
226
228
 
227
229
  PLATFORMS
228
230
  ruby