cloudenvoy 0.1.0.dev → 0.4.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (110) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/test.yml +41 -0
  3. data/.gitignore +3 -0
  4. data/.rubocop.yml +1 -0
  5. data/Appraisals +25 -0
  6. data/CHANGELOG.md +32 -0
  7. data/Gemfile.lock +215 -1
  8. data/README.md +581 -7
  9. data/app/controllers/cloudenvoy/application_controller.rb +8 -0
  10. data/app/controllers/cloudenvoy/subscriber_controller.rb +59 -0
  11. data/cloudenvoy.gemspec +15 -2
  12. data/config/routes.rb +5 -0
  13. data/examples/rails/.ruby-version +1 -0
  14. data/examples/rails/Gemfile +15 -0
  15. data/examples/rails/Gemfile.lock +207 -0
  16. data/examples/rails/Procfile +1 -0
  17. data/examples/rails/README.md +31 -0
  18. data/examples/rails/Rakefile +8 -0
  19. data/examples/rails/app/assets/config/manifest.js +2 -0
  20. data/examples/rails/app/assets/images/.keep +0 -0
  21. data/examples/rails/app/assets/stylesheets/application.css +15 -0
  22. data/examples/rails/app/channels/application_cable/channel.rb +6 -0
  23. data/examples/rails/app/channels/application_cable/connection.rb +6 -0
  24. data/examples/rails/app/controllers/application_controller.rb +4 -0
  25. data/examples/rails/app/controllers/concerns/.keep +0 -0
  26. data/examples/rails/app/helpers/application_helper.rb +4 -0
  27. data/examples/rails/app/javascript/packs/application.js +15 -0
  28. data/examples/rails/app/jobs/application_job.rb +9 -0
  29. data/examples/rails/app/mailers/application_mailer.rb +6 -0
  30. data/examples/rails/app/models/application_record.rb +5 -0
  31. data/examples/rails/app/models/concerns/.keep +0 -0
  32. data/examples/rails/app/publishers/hello_publisher.rb +34 -0
  33. data/examples/rails/app/subscribers/hello_subscriber.rb +16 -0
  34. data/examples/rails/app/views/layouts/application.html.erb +14 -0
  35. data/examples/rails/app/views/layouts/mailer.html.erb +13 -0
  36. data/examples/rails/app/views/layouts/mailer.text.erb +1 -0
  37. data/examples/rails/bin/rails +6 -0
  38. data/examples/rails/bin/rake +6 -0
  39. data/examples/rails/bin/setup +35 -0
  40. data/examples/rails/config.ru +7 -0
  41. data/examples/rails/config/application.rb +19 -0
  42. data/examples/rails/config/boot.rb +7 -0
  43. data/examples/rails/config/cable.yml +10 -0
  44. data/examples/rails/config/credentials.yml.enc +1 -0
  45. data/examples/rails/config/database.yml +25 -0
  46. data/examples/rails/config/environment.rb +7 -0
  47. data/examples/rails/config/environments/development.rb +65 -0
  48. data/examples/rails/config/environments/production.rb +114 -0
  49. data/examples/rails/config/environments/test.rb +50 -0
  50. data/examples/rails/config/initializers/application_controller_renderer.rb +9 -0
  51. data/examples/rails/config/initializers/assets.rb +14 -0
  52. data/examples/rails/config/initializers/backtrace_silencers.rb +8 -0
  53. data/examples/rails/config/initializers/cloudenvoy.rb +22 -0
  54. data/examples/rails/config/initializers/content_security_policy.rb +29 -0
  55. data/examples/rails/config/initializers/cookies_serializer.rb +7 -0
  56. data/examples/rails/config/initializers/filter_parameter_logging.rb +6 -0
  57. data/examples/rails/config/initializers/inflections.rb +17 -0
  58. data/examples/rails/config/initializers/mime_types.rb +5 -0
  59. data/examples/rails/config/initializers/wrap_parameters.rb +16 -0
  60. data/examples/rails/config/locales/en.yml +33 -0
  61. data/examples/rails/config/master.key +1 -0
  62. data/examples/rails/config/puma.rb +37 -0
  63. data/examples/rails/config/routes.rb +4 -0
  64. data/examples/rails/config/spring.rb +8 -0
  65. data/examples/rails/config/storage.yml +34 -0
  66. data/examples/rails/db/development.sqlite3 +0 -0
  67. data/examples/rails/db/test.sqlite3 +0 -0
  68. data/examples/rails/lib/assets/.keep +0 -0
  69. data/examples/rails/log/.keep +0 -0
  70. data/examples/rails/public/404.html +67 -0
  71. data/examples/rails/public/422.html +67 -0
  72. data/examples/rails/public/500.html +66 -0
  73. data/examples/rails/public/apple-touch-icon-precomposed.png +0 -0
  74. data/examples/rails/public/apple-touch-icon.png +0 -0
  75. data/examples/rails/public/favicon.ico +0 -0
  76. data/examples/rails/storage/.keep +0 -0
  77. data/gemfiles/rails_5.2.gemfile +7 -0
  78. data/gemfiles/rails_5.2.gemfile.lock +251 -0
  79. data/gemfiles/rails_6.0.gemfile +7 -0
  80. data/gemfiles/rails_6.0.gemfile.lock +267 -0
  81. data/gemfiles/semantic_logger_3.4.gemfile +7 -0
  82. data/gemfiles/semantic_logger_3.4.gemfile.lock +265 -0
  83. data/gemfiles/semantic_logger_4.6.gemfile +7 -0
  84. data/gemfiles/semantic_logger_4.6.gemfile.lock +265 -0
  85. data/gemfiles/semantic_logger_4.7.0.gemfile +7 -0
  86. data/gemfiles/semantic_logger_4.7.0.gemfile.lock +265 -0
  87. data/gemfiles/semantic_logger_4.7.2.gemfile +7 -0
  88. data/gemfiles/semantic_logger_4.7.2.gemfile.lock +265 -0
  89. data/lib/cloudenvoy.rb +96 -2
  90. data/lib/cloudenvoy/authentication_error.rb +6 -0
  91. data/lib/cloudenvoy/authenticator.rb +57 -0
  92. data/lib/cloudenvoy/backend/google_pub_sub.rb +146 -0
  93. data/lib/cloudenvoy/backend/memory_pub_sub.rb +89 -0
  94. data/lib/cloudenvoy/config.rb +165 -0
  95. data/lib/cloudenvoy/engine.rb +20 -0
  96. data/lib/cloudenvoy/invalid_subscriber_error.rb +6 -0
  97. data/lib/cloudenvoy/logger_wrapper.rb +167 -0
  98. data/lib/cloudenvoy/message.rb +96 -0
  99. data/lib/cloudenvoy/middleware/chain.rb +250 -0
  100. data/lib/cloudenvoy/pub_sub_client.rb +76 -0
  101. data/lib/cloudenvoy/publisher.rb +211 -0
  102. data/lib/cloudenvoy/publisher_logger.rb +32 -0
  103. data/lib/cloudenvoy/subscriber.rb +222 -0
  104. data/lib/cloudenvoy/subscriber_logger.rb +26 -0
  105. data/lib/cloudenvoy/subscription.rb +19 -0
  106. data/lib/cloudenvoy/testing.rb +106 -0
  107. data/lib/cloudenvoy/topic.rb +19 -0
  108. data/lib/cloudenvoy/version.rb +1 -1
  109. data/lib/tasks/cloudenvoy.rake +61 -0
  110. metadata +263 -6
@@ -0,0 +1,7 @@
1
+ # This file was generated by Appraisal
2
+
3
+ source "https://rubygems.org"
4
+
5
+ gem "semantic_logger", "4.7.0"
6
+
7
+ gemspec path: "../"
@@ -0,0 +1,265 @@
1
+ PATH
2
+ remote: ..
3
+ specs:
4
+ cloudenvoy (0.4.0)
5
+ activesupport
6
+ google-cloud-pubsub (~> 2.0)
7
+ jwt
8
+ retriable
9
+
10
+ GEM
11
+ remote: https://rubygems.org/
12
+ specs:
13
+ actioncable (6.0.3.3)
14
+ actionpack (= 6.0.3.3)
15
+ nio4r (~> 2.0)
16
+ websocket-driver (>= 0.6.1)
17
+ actionmailbox (6.0.3.3)
18
+ actionpack (= 6.0.3.3)
19
+ activejob (= 6.0.3.3)
20
+ activerecord (= 6.0.3.3)
21
+ activestorage (= 6.0.3.3)
22
+ activesupport (= 6.0.3.3)
23
+ mail (>= 2.7.1)
24
+ actionmailer (6.0.3.3)
25
+ actionpack (= 6.0.3.3)
26
+ actionview (= 6.0.3.3)
27
+ activejob (= 6.0.3.3)
28
+ mail (~> 2.5, >= 2.5.4)
29
+ rails-dom-testing (~> 2.0)
30
+ actionpack (6.0.3.3)
31
+ actionview (= 6.0.3.3)
32
+ activesupport (= 6.0.3.3)
33
+ rack (~> 2.0, >= 2.0.8)
34
+ rack-test (>= 0.6.3)
35
+ rails-dom-testing (~> 2.0)
36
+ rails-html-sanitizer (~> 1.0, >= 1.2.0)
37
+ actiontext (6.0.3.3)
38
+ actionpack (= 6.0.3.3)
39
+ activerecord (= 6.0.3.3)
40
+ activestorage (= 6.0.3.3)
41
+ activesupport (= 6.0.3.3)
42
+ nokogiri (>= 1.8.5)
43
+ actionview (6.0.3.3)
44
+ activesupport (= 6.0.3.3)
45
+ builder (~> 3.1)
46
+ erubi (~> 1.4)
47
+ rails-dom-testing (~> 2.0)
48
+ rails-html-sanitizer (~> 1.1, >= 1.2.0)
49
+ activejob (6.0.3.3)
50
+ activesupport (= 6.0.3.3)
51
+ globalid (>= 0.3.6)
52
+ activemodel (6.0.3.3)
53
+ activesupport (= 6.0.3.3)
54
+ activerecord (6.0.3.3)
55
+ activemodel (= 6.0.3.3)
56
+ activesupport (= 6.0.3.3)
57
+ activestorage (6.0.3.3)
58
+ actionpack (= 6.0.3.3)
59
+ activejob (= 6.0.3.3)
60
+ activerecord (= 6.0.3.3)
61
+ marcel (~> 0.3.1)
62
+ activesupport (6.0.3.3)
63
+ concurrent-ruby (~> 1.0, >= 1.0.2)
64
+ i18n (>= 0.7, < 2)
65
+ minitest (~> 5.1)
66
+ tzinfo (~> 1.1)
67
+ zeitwerk (~> 2.2, >= 2.2.2)
68
+ addressable (2.7.0)
69
+ public_suffix (>= 2.0.2, < 5.0)
70
+ appraisal (2.3.0)
71
+ bundler
72
+ rake
73
+ thor (>= 0.14.0)
74
+ ast (2.4.1)
75
+ builder (3.2.4)
76
+ concurrent-ruby (1.1.7)
77
+ crack (0.4.4)
78
+ crass (1.0.6)
79
+ diff-lcs (1.4.4)
80
+ erubi (1.9.0)
81
+ faraday (1.0.1)
82
+ multipart-post (>= 1.2, < 3)
83
+ gapic-common (0.3.4)
84
+ google-protobuf (~> 3.12, >= 3.12.2)
85
+ googleapis-common-protos (>= 1.3.9, < 2.0)
86
+ googleapis-common-protos-types (>= 1.0.4, < 2.0)
87
+ googleauth (~> 0.9)
88
+ grpc (~> 1.25)
89
+ globalid (0.4.2)
90
+ activesupport (>= 4.2.0)
91
+ google-cloud-core (1.5.0)
92
+ google-cloud-env (~> 1.0)
93
+ google-cloud-errors (~> 1.0)
94
+ google-cloud-env (1.3.3)
95
+ faraday (>= 0.17.3, < 2.0)
96
+ google-cloud-errors (1.0.1)
97
+ google-cloud-pubsub (2.0.0)
98
+ concurrent-ruby (~> 1.1)
99
+ google-cloud-core (~> 1.5)
100
+ google-cloud-pubsub-v1 (~> 0.0)
101
+ google-cloud-pubsub-v1 (0.1.2)
102
+ gapic-common (~> 0.3)
103
+ google-cloud-errors (~> 1.0)
104
+ grpc-google-iam-v1 (>= 0.6.10, < 2.0)
105
+ google-protobuf (3.13.0-universal-darwin)
106
+ googleapis-common-protos (1.3.10)
107
+ google-protobuf (~> 3.11)
108
+ googleapis-common-protos-types (>= 1.0.5, < 2.0)
109
+ grpc (~> 1.27)
110
+ googleapis-common-protos-types (1.0.5)
111
+ google-protobuf (~> 3.11)
112
+ googleauth (0.13.1)
113
+ faraday (>= 0.17.3, < 2.0)
114
+ jwt (>= 1.4, < 3.0)
115
+ memoist (~> 0.16)
116
+ multi_json (~> 1.11)
117
+ os (>= 0.9, < 2.0)
118
+ signet (~> 0.14)
119
+ grpc (1.32.0-universal-darwin)
120
+ google-protobuf (~> 3.13)
121
+ googleapis-common-protos-types (~> 1.0)
122
+ grpc-google-iam-v1 (0.6.10)
123
+ google-protobuf (~> 3.11)
124
+ googleapis-common-protos (>= 1.3.10, < 2.0)
125
+ grpc (~> 1.27)
126
+ hashdiff (1.0.1)
127
+ i18n (1.8.5)
128
+ concurrent-ruby (~> 1.0)
129
+ jaro_winkler (1.5.4)
130
+ jwt (2.2.2)
131
+ loofah (2.7.0)
132
+ crass (~> 1.0.2)
133
+ nokogiri (>= 1.5.9)
134
+ mail (2.7.1)
135
+ mini_mime (>= 0.1.1)
136
+ marcel (0.3.3)
137
+ mimemagic (~> 0.3.2)
138
+ memoist (0.16.2)
139
+ method_source (1.0.0)
140
+ mimemagic (0.3.5)
141
+ mini_mime (1.0.2)
142
+ mini_portile2 (2.4.0)
143
+ minitest (5.14.2)
144
+ multi_json (1.15.0)
145
+ multipart-post (2.1.1)
146
+ nio4r (2.5.4)
147
+ nokogiri (1.10.10)
148
+ mini_portile2 (~> 2.4.0)
149
+ os (1.1.1)
150
+ parallel (1.19.2)
151
+ parser (2.7.1.5)
152
+ ast (~> 2.4.1)
153
+ public_suffix (4.0.6)
154
+ rack (2.2.3)
155
+ rack-test (1.1.0)
156
+ rack (>= 1.0, < 3)
157
+ rails (6.0.3.3)
158
+ actioncable (= 6.0.3.3)
159
+ actionmailbox (= 6.0.3.3)
160
+ actionmailer (= 6.0.3.3)
161
+ actionpack (= 6.0.3.3)
162
+ actiontext (= 6.0.3.3)
163
+ actionview (= 6.0.3.3)
164
+ activejob (= 6.0.3.3)
165
+ activemodel (= 6.0.3.3)
166
+ activerecord (= 6.0.3.3)
167
+ activestorage (= 6.0.3.3)
168
+ activesupport (= 6.0.3.3)
169
+ bundler (>= 1.3.0)
170
+ railties (= 6.0.3.3)
171
+ sprockets-rails (>= 2.0.0)
172
+ rails-dom-testing (2.0.3)
173
+ activesupport (>= 4.2.0)
174
+ nokogiri (>= 1.6)
175
+ rails-html-sanitizer (1.3.0)
176
+ loofah (~> 2.3)
177
+ railties (6.0.3.3)
178
+ actionpack (= 6.0.3.3)
179
+ activesupport (= 6.0.3.3)
180
+ method_source
181
+ rake (>= 0.8.7)
182
+ thor (>= 0.20.3, < 2.0)
183
+ rainbow (3.0.0)
184
+ rake (13.0.1)
185
+ retriable (3.1.2)
186
+ rspec (3.9.0)
187
+ rspec-core (~> 3.9.0)
188
+ rspec-expectations (~> 3.9.0)
189
+ rspec-mocks (~> 3.9.0)
190
+ rspec-core (3.9.3)
191
+ rspec-support (~> 3.9.3)
192
+ rspec-expectations (3.9.2)
193
+ diff-lcs (>= 1.2.0, < 2.0)
194
+ rspec-support (~> 3.9.0)
195
+ rspec-mocks (3.9.1)
196
+ diff-lcs (>= 1.2.0, < 2.0)
197
+ rspec-support (~> 3.9.0)
198
+ rspec-rails (4.0.1)
199
+ actionpack (>= 4.2)
200
+ activesupport (>= 4.2)
201
+ railties (>= 4.2)
202
+ rspec-core (~> 3.9)
203
+ rspec-expectations (~> 3.9)
204
+ rspec-mocks (~> 3.9)
205
+ rspec-support (~> 3.9)
206
+ rspec-support (3.9.3)
207
+ rubocop (0.76.0)
208
+ jaro_winkler (~> 1.5.1)
209
+ parallel (~> 1.10)
210
+ parser (>= 2.6)
211
+ rainbow (>= 2.2.2, < 4.0)
212
+ ruby-progressbar (~> 1.7)
213
+ unicode-display_width (>= 1.4.0, < 1.7)
214
+ rubocop-rspec (1.37.0)
215
+ rubocop (>= 0.68.1)
216
+ ruby-progressbar (1.10.1)
217
+ semantic_logger (4.7.0)
218
+ concurrent-ruby (~> 1.0)
219
+ signet (0.14.0)
220
+ addressable (~> 2.3)
221
+ faraday (>= 0.17.3, < 2.0)
222
+ jwt (>= 1.5, < 3.0)
223
+ multi_json (~> 1.10)
224
+ sprockets (4.0.2)
225
+ concurrent-ruby (~> 1.0)
226
+ rack (> 1, < 3)
227
+ sprockets-rails (3.2.2)
228
+ actionpack (>= 4.0)
229
+ activesupport (>= 4.0)
230
+ sprockets (>= 3.0.0)
231
+ sqlite3 (1.4.2)
232
+ thor (1.0.1)
233
+ thread_safe (0.3.6)
234
+ timecop (0.9.1)
235
+ tzinfo (1.2.7)
236
+ thread_safe (~> 0.1)
237
+ unicode-display_width (1.6.1)
238
+ webmock (3.9.1)
239
+ addressable (>= 2.3.6)
240
+ crack (>= 0.3.2)
241
+ hashdiff (>= 0.4.0, < 2.0.0)
242
+ websocket-driver (0.7.3)
243
+ websocket-extensions (>= 0.1.0)
244
+ websocket-extensions (0.1.5)
245
+ zeitwerk (2.4.0)
246
+
247
+ PLATFORMS
248
+ ruby
249
+
250
+ DEPENDENCIES
251
+ appraisal
252
+ cloudenvoy!
253
+ rails
254
+ rake (>= 12.3.3)
255
+ rspec (~> 3.0)
256
+ rspec-rails
257
+ rubocop (= 0.76.0)
258
+ rubocop-rspec (= 1.37.0)
259
+ semantic_logger (= 4.7.0)
260
+ sqlite3
261
+ timecop
262
+ webmock
263
+
264
+ BUNDLED WITH
265
+ 2.1.4
@@ -0,0 +1,7 @@
1
+ # This file was generated by Appraisal
2
+
3
+ source "https://rubygems.org"
4
+
5
+ gem "semantic_logger", "4.7.2"
6
+
7
+ gemspec path: "../"
@@ -0,0 +1,265 @@
1
+ PATH
2
+ remote: ..
3
+ specs:
4
+ cloudenvoy (0.4.0)
5
+ activesupport
6
+ google-cloud-pubsub (~> 2.0)
7
+ jwt
8
+ retriable
9
+
10
+ GEM
11
+ remote: https://rubygems.org/
12
+ specs:
13
+ actioncable (6.0.3.3)
14
+ actionpack (= 6.0.3.3)
15
+ nio4r (~> 2.0)
16
+ websocket-driver (>= 0.6.1)
17
+ actionmailbox (6.0.3.3)
18
+ actionpack (= 6.0.3.3)
19
+ activejob (= 6.0.3.3)
20
+ activerecord (= 6.0.3.3)
21
+ activestorage (= 6.0.3.3)
22
+ activesupport (= 6.0.3.3)
23
+ mail (>= 2.7.1)
24
+ actionmailer (6.0.3.3)
25
+ actionpack (= 6.0.3.3)
26
+ actionview (= 6.0.3.3)
27
+ activejob (= 6.0.3.3)
28
+ mail (~> 2.5, >= 2.5.4)
29
+ rails-dom-testing (~> 2.0)
30
+ actionpack (6.0.3.3)
31
+ actionview (= 6.0.3.3)
32
+ activesupport (= 6.0.3.3)
33
+ rack (~> 2.0, >= 2.0.8)
34
+ rack-test (>= 0.6.3)
35
+ rails-dom-testing (~> 2.0)
36
+ rails-html-sanitizer (~> 1.0, >= 1.2.0)
37
+ actiontext (6.0.3.3)
38
+ actionpack (= 6.0.3.3)
39
+ activerecord (= 6.0.3.3)
40
+ activestorage (= 6.0.3.3)
41
+ activesupport (= 6.0.3.3)
42
+ nokogiri (>= 1.8.5)
43
+ actionview (6.0.3.3)
44
+ activesupport (= 6.0.3.3)
45
+ builder (~> 3.1)
46
+ erubi (~> 1.4)
47
+ rails-dom-testing (~> 2.0)
48
+ rails-html-sanitizer (~> 1.1, >= 1.2.0)
49
+ activejob (6.0.3.3)
50
+ activesupport (= 6.0.3.3)
51
+ globalid (>= 0.3.6)
52
+ activemodel (6.0.3.3)
53
+ activesupport (= 6.0.3.3)
54
+ activerecord (6.0.3.3)
55
+ activemodel (= 6.0.3.3)
56
+ activesupport (= 6.0.3.3)
57
+ activestorage (6.0.3.3)
58
+ actionpack (= 6.0.3.3)
59
+ activejob (= 6.0.3.3)
60
+ activerecord (= 6.0.3.3)
61
+ marcel (~> 0.3.1)
62
+ activesupport (6.0.3.3)
63
+ concurrent-ruby (~> 1.0, >= 1.0.2)
64
+ i18n (>= 0.7, < 2)
65
+ minitest (~> 5.1)
66
+ tzinfo (~> 1.1)
67
+ zeitwerk (~> 2.2, >= 2.2.2)
68
+ addressable (2.7.0)
69
+ public_suffix (>= 2.0.2, < 5.0)
70
+ appraisal (2.3.0)
71
+ bundler
72
+ rake
73
+ thor (>= 0.14.0)
74
+ ast (2.4.1)
75
+ builder (3.2.4)
76
+ concurrent-ruby (1.1.7)
77
+ crack (0.4.4)
78
+ crass (1.0.6)
79
+ diff-lcs (1.4.4)
80
+ erubi (1.9.0)
81
+ faraday (1.0.1)
82
+ multipart-post (>= 1.2, < 3)
83
+ gapic-common (0.3.4)
84
+ google-protobuf (~> 3.12, >= 3.12.2)
85
+ googleapis-common-protos (>= 1.3.9, < 2.0)
86
+ googleapis-common-protos-types (>= 1.0.4, < 2.0)
87
+ googleauth (~> 0.9)
88
+ grpc (~> 1.25)
89
+ globalid (0.4.2)
90
+ activesupport (>= 4.2.0)
91
+ google-cloud-core (1.5.0)
92
+ google-cloud-env (~> 1.0)
93
+ google-cloud-errors (~> 1.0)
94
+ google-cloud-env (1.3.3)
95
+ faraday (>= 0.17.3, < 2.0)
96
+ google-cloud-errors (1.0.1)
97
+ google-cloud-pubsub (2.0.0)
98
+ concurrent-ruby (~> 1.1)
99
+ google-cloud-core (~> 1.5)
100
+ google-cloud-pubsub-v1 (~> 0.0)
101
+ google-cloud-pubsub-v1 (0.1.2)
102
+ gapic-common (~> 0.3)
103
+ google-cloud-errors (~> 1.0)
104
+ grpc-google-iam-v1 (>= 0.6.10, < 2.0)
105
+ google-protobuf (3.13.0-universal-darwin)
106
+ googleapis-common-protos (1.3.10)
107
+ google-protobuf (~> 3.11)
108
+ googleapis-common-protos-types (>= 1.0.5, < 2.0)
109
+ grpc (~> 1.27)
110
+ googleapis-common-protos-types (1.0.5)
111
+ google-protobuf (~> 3.11)
112
+ googleauth (0.13.1)
113
+ faraday (>= 0.17.3, < 2.0)
114
+ jwt (>= 1.4, < 3.0)
115
+ memoist (~> 0.16)
116
+ multi_json (~> 1.11)
117
+ os (>= 0.9, < 2.0)
118
+ signet (~> 0.14)
119
+ grpc (1.32.0-universal-darwin)
120
+ google-protobuf (~> 3.13)
121
+ googleapis-common-protos-types (~> 1.0)
122
+ grpc-google-iam-v1 (0.6.10)
123
+ google-protobuf (~> 3.11)
124
+ googleapis-common-protos (>= 1.3.10, < 2.0)
125
+ grpc (~> 1.27)
126
+ hashdiff (1.0.1)
127
+ i18n (1.8.5)
128
+ concurrent-ruby (~> 1.0)
129
+ jaro_winkler (1.5.4)
130
+ jwt (2.2.2)
131
+ loofah (2.7.0)
132
+ crass (~> 1.0.2)
133
+ nokogiri (>= 1.5.9)
134
+ mail (2.7.1)
135
+ mini_mime (>= 0.1.1)
136
+ marcel (0.3.3)
137
+ mimemagic (~> 0.3.2)
138
+ memoist (0.16.2)
139
+ method_source (1.0.0)
140
+ mimemagic (0.3.5)
141
+ mini_mime (1.0.2)
142
+ mini_portile2 (2.4.0)
143
+ minitest (5.14.2)
144
+ multi_json (1.15.0)
145
+ multipart-post (2.1.1)
146
+ nio4r (2.5.4)
147
+ nokogiri (1.10.10)
148
+ mini_portile2 (~> 2.4.0)
149
+ os (1.1.1)
150
+ parallel (1.19.2)
151
+ parser (2.7.1.5)
152
+ ast (~> 2.4.1)
153
+ public_suffix (4.0.6)
154
+ rack (2.2.3)
155
+ rack-test (1.1.0)
156
+ rack (>= 1.0, < 3)
157
+ rails (6.0.3.3)
158
+ actioncable (= 6.0.3.3)
159
+ actionmailbox (= 6.0.3.3)
160
+ actionmailer (= 6.0.3.3)
161
+ actionpack (= 6.0.3.3)
162
+ actiontext (= 6.0.3.3)
163
+ actionview (= 6.0.3.3)
164
+ activejob (= 6.0.3.3)
165
+ activemodel (= 6.0.3.3)
166
+ activerecord (= 6.0.3.3)
167
+ activestorage (= 6.0.3.3)
168
+ activesupport (= 6.0.3.3)
169
+ bundler (>= 1.3.0)
170
+ railties (= 6.0.3.3)
171
+ sprockets-rails (>= 2.0.0)
172
+ rails-dom-testing (2.0.3)
173
+ activesupport (>= 4.2.0)
174
+ nokogiri (>= 1.6)
175
+ rails-html-sanitizer (1.3.0)
176
+ loofah (~> 2.3)
177
+ railties (6.0.3.3)
178
+ actionpack (= 6.0.3.3)
179
+ activesupport (= 6.0.3.3)
180
+ method_source
181
+ rake (>= 0.8.7)
182
+ thor (>= 0.20.3, < 2.0)
183
+ rainbow (3.0.0)
184
+ rake (13.0.1)
185
+ retriable (3.1.2)
186
+ rspec (3.9.0)
187
+ rspec-core (~> 3.9.0)
188
+ rspec-expectations (~> 3.9.0)
189
+ rspec-mocks (~> 3.9.0)
190
+ rspec-core (3.9.3)
191
+ rspec-support (~> 3.9.3)
192
+ rspec-expectations (3.9.2)
193
+ diff-lcs (>= 1.2.0, < 2.0)
194
+ rspec-support (~> 3.9.0)
195
+ rspec-mocks (3.9.1)
196
+ diff-lcs (>= 1.2.0, < 2.0)
197
+ rspec-support (~> 3.9.0)
198
+ rspec-rails (4.0.1)
199
+ actionpack (>= 4.2)
200
+ activesupport (>= 4.2)
201
+ railties (>= 4.2)
202
+ rspec-core (~> 3.9)
203
+ rspec-expectations (~> 3.9)
204
+ rspec-mocks (~> 3.9)
205
+ rspec-support (~> 3.9)
206
+ rspec-support (3.9.3)
207
+ rubocop (0.76.0)
208
+ jaro_winkler (~> 1.5.1)
209
+ parallel (~> 1.10)
210
+ parser (>= 2.6)
211
+ rainbow (>= 2.2.2, < 4.0)
212
+ ruby-progressbar (~> 1.7)
213
+ unicode-display_width (>= 1.4.0, < 1.7)
214
+ rubocop-rspec (1.37.0)
215
+ rubocop (>= 0.68.1)
216
+ ruby-progressbar (1.10.1)
217
+ semantic_logger (4.7.2)
218
+ concurrent-ruby (~> 1.0)
219
+ signet (0.14.0)
220
+ addressable (~> 2.3)
221
+ faraday (>= 0.17.3, < 2.0)
222
+ jwt (>= 1.5, < 3.0)
223
+ multi_json (~> 1.10)
224
+ sprockets (4.0.2)
225
+ concurrent-ruby (~> 1.0)
226
+ rack (> 1, < 3)
227
+ sprockets-rails (3.2.2)
228
+ actionpack (>= 4.0)
229
+ activesupport (>= 4.0)
230
+ sprockets (>= 3.0.0)
231
+ sqlite3 (1.4.2)
232
+ thor (1.0.1)
233
+ thread_safe (0.3.6)
234
+ timecop (0.9.1)
235
+ tzinfo (1.2.7)
236
+ thread_safe (~> 0.1)
237
+ unicode-display_width (1.6.1)
238
+ webmock (3.9.1)
239
+ addressable (>= 2.3.6)
240
+ crack (>= 0.3.2)
241
+ hashdiff (>= 0.4.0, < 2.0.0)
242
+ websocket-driver (0.7.3)
243
+ websocket-extensions (>= 0.1.0)
244
+ websocket-extensions (0.1.5)
245
+ zeitwerk (2.4.0)
246
+
247
+ PLATFORMS
248
+ ruby
249
+
250
+ DEPENDENCIES
251
+ appraisal
252
+ cloudenvoy!
253
+ rails
254
+ rake (>= 12.3.3)
255
+ rspec (~> 3.0)
256
+ rspec-rails
257
+ rubocop (= 0.76.0)
258
+ rubocop-rspec (= 1.37.0)
259
+ semantic_logger (= 4.7.2)
260
+ sqlite3
261
+ timecop
262
+ webmock
263
+
264
+ BUNDLED WITH
265
+ 2.1.4