aboutsummaryrefslogtreecommitdiff
path: root/virtual
diff options
context:
space:
mode:
authorIsmaël Bouya <ismael.bouya@normalesup.org>2019-01-24 00:57:12 +0100
committerIsmaël Bouya <ismael.bouya@normalesup.org>2019-01-24 00:57:12 +0100
commit2ff7e086a363abdf8054f796f3cd5cd93b8af5be (patch)
tree45bc3b0a46cea8e0fe800c7d10ecd2e596e8db9d /virtual
parent159d8ff3f05b0ba7dc65b23f5a7b30ddfc59d13f (diff)
downloadNix-2ff7e086a363abdf8054f796f3cd5cd93b8af5be.tar.gz
Nix-2ff7e086a363abdf8054f796f3cd5cd93b8af5be.tar.zst
Nix-2ff7e086a363abdf8054f796f3cd5cd93b8af5be.zip
Start purifying mastodon: bundler
Diffstat (limited to 'virtual')
-rw-r--r--virtual/modules/websites/tools/mastodon/default.nix16
-rw-r--r--virtual/modules/websites/tools/mastodon/gemset.nix2878
-rw-r--r--virtual/modules/websites/tools/mastodon/mastodon.nix48
3 files changed, 2915 insertions, 27 deletions
diff --git a/virtual/modules/websites/tools/mastodon/default.nix b/virtual/modules/websites/tools/mastodon/default.nix
index 98ab9be..f1a207f 100644
--- a/virtual/modules/websites/tools/mastodon/default.nix
+++ b/virtual/modules/websites/tools/mastodon/default.nix
@@ -70,16 +70,18 @@ in {
70 after = [ "network.target" ]; 70 after = [ "network.target" ];
71 71
72 environment.RAILS_ENV = "production"; 72 environment.RAILS_ENV = "production";
73 environment.BUNDLE_PATH = "${mastodon.gems}/lib/ruby/gems/2.5.0";
74 environment.BUNDLE_GEMFILE = "${mastodon.gems.confFiles}/Gemfile";
73 environment.SOCKET = mastodon.railsSocket; 75 environment.SOCKET = mastodon.railsSocket;
74 76
75 path = [ pkgs.bundler pkgs.file ]; 77 path = [ mastodon.gems mastodon.gems.ruby pkgs.file ];
76 78
77 preStart = '' 79 preStart = ''
78 bundle exec rails db:migrate 80 ./bin/bundle exec rails db:migrate
79 ''; 81 '';
80 82
81 script = '' 83 script = ''
82 exec bundle exec puma -C config/puma.rb 84 exec ./bin/bundle exec puma -C config/puma.rb
83 ''; 85 '';
84 86
85 serviceConfig = { 87 serviceConfig = {
@@ -101,12 +103,14 @@ in {
101 after = [ "network.target" "mastodon-web.service" ]; 103 after = [ "network.target" "mastodon-web.service" ];
102 104
103 environment.RAILS_ENV="production"; 105 environment.RAILS_ENV="production";
106 environment.BUNDLE_PATH = "${mastodon.gems}/${mastodon.gems.ruby.gemPath}";
107 environment.BUNDLE_GEMFILE = "${mastodon.gems.confFiles}/Gemfile";
104 environment.DB_POOL="5"; 108 environment.DB_POOL="5";
105 109
106 path = [ pkgs.imagemagick pkgs.ffmpeg pkgs.bundler pkgs.file ]; 110 path = [ mastodon.gems mastodon.gems.ruby pkgs.imagemagick pkgs.ffmpeg pkgs.file ];
107 111
108 script = '' 112 script = ''
109 exec bundle exec sidekiq -c 5 -q default -q mailers -q pull -q push 113 exec ./bin/bundle exec sidekiq -c 5 -q default -q mailers -q pull -q push
110 ''; 114 '';
111 115
112 serviceConfig = { 116 serviceConfig = {
@@ -126,7 +130,7 @@ in {
126 deps = [ "users" ]; 130 deps = [ "users" ];
127 text = '' 131 text = ''
128 install -m 0755 -o mastodon -g mastodon -d ${mastodon.socketsDir} 132 install -m 0755 -o mastodon -g mastodon -d ${mastodon.socketsDir}
129 install -m 0755 -o mastodon -g mastodon -d ${mastodon.varDir} 133 install -m 0755 -o mastodon -g mastodon -d ${mastodon.varDir} ${mastodon.varDir}/tmp/cache
130 ''; 134 '';
131 }; 135 };
132 136
diff --git a/virtual/modules/websites/tools/mastodon/gemset.nix b/virtual/modules/websites/tools/mastodon/gemset.nix
new file mode 100644
index 0000000..585dab1
--- /dev/null
+++ b/virtual/modules/websites/tools/mastodon/gemset.nix
@@ -0,0 +1,2878 @@
1{
2 actioncable = {
3 dependencies = ["actionpack" "nio4r" "websocket-driver"];
4 groups = ["default"];
5 platforms = [];
6 source = {
7 remotes = ["https://rubygems.org"];
8 sha256 = "17vdxn0afi5rfnbs09nl0m0cyj7yvpi445bmi8pkmzbaqzqkq3ff";
9 type = "gem";
10 };
11 version = "5.2.1";
12 };
13 actionmailer = {
14 dependencies = ["actionpack" "actionview" "activejob" "mail" "rails-dom-testing"];
15 groups = ["default" "development"];
16 platforms = [];
17 source = {
18 remotes = ["https://rubygems.org"];
19 sha256 = "0h1nqg47jap0wzp0dhlnck4xjijfvdfw49aipjp8y2ihdpvyqrx6";
20 type = "gem";
21 };
22 version = "5.2.1";
23 };
24 actionpack = {
25 dependencies = ["actionview" "activesupport" "rack" "rack-test" "rails-dom-testing" "rails-html-sanitizer"];
26 groups = ["default" "development" "pam_authentication" "production" "test"];
27 platforms = [];
28 source = {
29 remotes = ["https://rubygems.org"];
30 sha256 = "19zv9ix9iwpd8dxi5hyxgwrc1gh0fvx0a2vjhmic8dn8six41f4f";
31 type = "gem";
32 };
33 version = "5.2.1";
34 };
35 actionview = {
36 dependencies = ["activesupport" "builder" "erubi" "rails-dom-testing" "rails-html-sanitizer"];
37 groups = ["default" "development" "pam_authentication" "production" "test"];
38 platforms = [];
39 source = {
40 remotes = ["https://rubygems.org"];
41 sha256 = "0dxanjs7ngpny4ig7dg93ywmg9ljswzg8risdlff6ag8fzvsnidf";
42 type = "gem";
43 };
44 version = "5.2.1";
45 };
46 active_model_serializers = {
47 dependencies = ["actionpack" "activemodel" "case_transform" "jsonapi-renderer"];
48 groups = ["default"];
49 platforms = [];
50 source = {
51 remotes = ["https://rubygems.org"];
52 sha256 = "06arlz90rspfz899g3y2mrp5vwv6h6yahp936yqvl83d6jjpry12";
53 type = "gem";
54 };
55 version = "0.10.7";
56 };
57 active_record_query_trace = {
58 groups = ["development"];
59 platforms = [];
60 source = {
61 remotes = ["https://rubygems.org"];
62 sha256 = "1aharmy1fcd0plv9k0i2dk5icvnlww8n43ia8xahfkcask0cpidh";
63 type = "gem";
64 };
65 version = "1.5.4";
66 };
67 activejob = {
68 dependencies = ["activesupport" "globalid"];
69 groups = ["default" "development"];
70 platforms = [];
71 source = {
72 remotes = ["https://rubygems.org"];
73 sha256 = "1m4l7z08cx1lybfswfggy7y1rxnwr6gi15h0g9kkkkvmmn6klf3r";
74 type = "gem";
75 };
76 version = "5.2.1";
77 };
78 activemodel = {
79 dependencies = ["activesupport"];
80 groups = ["default" "development"];
81 platforms = [];
82 source = {
83 remotes = ["https://rubygems.org"];
84 sha256 = "043nnxaf3cfq8jijls0jh1bg3a8v5zd9slc62zc2acp2n2wkjnd4";
85 type = "gem";
86 };
87 version = "5.2.1";
88 };
89 activerecord = {
90 dependencies = ["activemodel" "activesupport" "arel"];
91 groups = ["default" "development"];
92 platforms = [];
93 source = {
94 remotes = ["https://rubygems.org"];
95 sha256 = "0pc7cycvhzjpw0swil2inka6c0fvcxhln793czp52pidg0654g7g";
96 type = "gem";
97 };
98 version = "5.2.1";
99 };
100 activestorage = {
101 dependencies = ["actionpack" "activerecord" "marcel"];
102 groups = ["default"];
103 platforms = [];
104 source = {
105 remotes = ["https://rubygems.org"];
106 sha256 = "0wncr3h94jsjmmqqmmips9vgy2kf1zhb96rlv5fbrgqplfhvpyag";
107 type = "gem";
108 };
109 version = "5.2.1";
110 };
111 activesupport = {
112 dependencies = ["concurrent-ruby" "i18n" "minitest" "tzinfo"];
113 groups = ["default" "development" "pam_authentication" "production" "test"];
114 platforms = [];
115 source = {
116 remotes = ["https://rubygems.org"];
117 sha256 = "0ziy6xk31k4fs115cdkba1ys4i8nzcyri7a2jig7nx7k5h7li6l2";
118 type = "gem";
119 };
120 version = "5.2.1";
121 };
122 addressable = {
123 dependencies = ["public_suffix"];
124 groups = ["default" "development" "test"];
125 platforms = [];
126 source = {
127 remotes = ["https://rubygems.org"];
128 sha256 = "0viqszpkggqi8hq87pqp0xykhvz60g99nwmkwsb0v45kc2liwxvk";
129 type = "gem";
130 };
131 version = "2.5.2";
132 };
133 airbrussh = {
134 dependencies = ["sshkit"];
135 groups = ["default" "development"];
136 platforms = [];
137 source = {
138 remotes = ["https://rubygems.org"];
139 sha256 = "0yp1sl5n94ksxpwmaajflbdls45s81hw4spgz01h19xs2zrvv8wl";
140 type = "gem";
141 };
142 version = "1.3.0";
143 };
144 annotate = {
145 dependencies = ["activerecord" "rake"];
146 groups = ["development"];
147 platforms = [];
148 source = {
149 remotes = ["https://rubygems.org"];
150 sha256 = "1l69l2kn06nkrnyq6gb1x322x5raxs8ms60shpf0v5dsi8lfig16";
151 type = "gem";
152 };
153 version = "2.7.4";
154 };
155 arel = {
156 groups = ["default" "development"];
157 platforms = [];
158 source = {
159 remotes = ["https://rubygems.org"];
160 sha256 = "1jk7wlmkr61f6g36w9s2sn46nmdg6wn2jfssrhbhirv5x9n95nk0";
161 type = "gem";
162 };
163 version = "9.0.0";
164 };
165 ast = {
166 groups = ["default" "development" "test"];
167 platforms = [];
168 source = {
169 remotes = ["https://rubygems.org"];
170 sha256 = "184ssy3w93nkajlz2c70ifm79jp3j737294kbc5fjw69v1w0n9x7";
171 type = "gem";
172 };
173 version = "2.4.0";
174 };
175 attr_encrypted = {
176 dependencies = ["encryptor"];
177 groups = ["default"];
178 platforms = [];
179 source = {
180 remotes = ["https://rubygems.org"];
181 sha256 = "0ncv2az1zlj33bsllr6q1qdvbw42gv91lxq0ryclbv8l8xh841jg";
182 type = "gem";
183 };
184 version = "3.1.0";
185 };
186 av = {
187 dependencies = ["cocaine"];
188 groups = ["default"];
189 platforms = [];
190 source = {
191 remotes = ["https://rubygems.org"];
192 sha256 = "1swakpybf6g0nzfdn6q4s9c97ysc3i4ffk84dw8v2321fpvc8gqq";
193 type = "gem";
194 };
195 version = "0.9.0";
196 };
197 aws-eventstream = {
198 groups = ["default"];
199 platforms = [];
200 source = {
201 remotes = ["https://rubygems.org"];
202 sha256 = "0gdiwkg24jpx5f3bkw6vchgliicn6v9bpm09j0dldaxsca66q0wy";
203 type = "gem";
204 };
205 version = "1.0.1";
206 };
207 aws-partitions = {
208 groups = ["default"];
209 platforms = [];
210 source = {
211 remotes = ["https://rubygems.org"];
212 sha256 = "0hhdbb5fy8514v7gpz5n3csbhwlk1wwnj9xxc9fwzxiyzh4y0zr4";
213 type = "gem";
214 };
215 version = "1.106.0";
216 };
217 aws-sdk-core = {
218 dependencies = ["aws-eventstream" "aws-partitions" "aws-sigv4" "jmespath"];
219 groups = ["default"];
220 platforms = [];
221 source = {
222 remotes = ["https://rubygems.org"];
223 sha256 = "1gj98hbmzw2c2j8ri1hlrig17b7fsvzzf5jlpzbmmk9ic69hvh1p";
224 type = "gem";
225 };
226 version = "3.35.0";
227 };
228 aws-sdk-kms = {
229 dependencies = ["aws-sdk-core" "aws-sigv4"];
230 groups = ["default"];
231 platforms = [];
232 source = {
233 remotes = ["https://rubygems.org"];
234 sha256 = "0g13jv1s8hj1yv6qxa2rm0k3n5jzmamn3zk3c73276s3gixpp986";
235 type = "gem";
236 };
237 version = "1.11.0";
238 };
239 aws-sdk-s3 = {
240 dependencies = ["aws-sdk-core" "aws-sdk-kms" "aws-sigv4"];
241 groups = ["default"];
242 platforms = [];
243 source = {
244 remotes = ["https://rubygems.org"];
245 sha256 = "1q0bppa23knjnzys3zrbbhajdj0fl9qc23nlrk72cc96rh4caklj";
246 type = "gem";
247 };
248 version = "1.23.0";
249 };
250 aws-sigv4 = {
251 groups = ["default"];
252 platforms = [];
253 source = {
254 remotes = ["https://rubygems.org"];
255 sha256 = "1hzndv113i6bgy2n72i5l3mwn8vjnb6hhjxfkpn9mm2p5ra77yk7";
256 type = "gem";
257 };
258 version = "1.0.3";
259 };
260 bcrypt = {
261 groups = ["default" "pam_authentication"];
262 platforms = [];
263 source = {
264 remotes = ["https://rubygems.org"];
265 sha256 = "0ysblqxkclmnhrd0kmb5mr8p38mbar633gdsb14b7dhkhgawgzfy";
266 type = "gem";
267 };
268 version = "3.1.12";
269 };
270 benchmark-ips = {
271 groups = ["default" "development"];
272 platforms = [];
273 source = {
274 remotes = ["https://rubygems.org"];
275 sha256 = "1w59c4qnwkjqwn7zyp9hshslbshna77vknmz43h0va5lxisd6ai2";
276 type = "gem";
277 };
278 version = "2.7.2";
279 };
280 better_errors = {
281 dependencies = ["coderay" "erubi" "rack"];
282 groups = ["development"];
283 platforms = [];
284 source = {
285 remotes = ["https://rubygems.org"];
286 sha256 = "1pqnxxsqqs7vnqvamk5bzs84dv584g9s0qaf2vqb1v2aj5dabcg7";
287 type = "gem";
288 };
289 version = "2.5.0";
290 };
291 binding_of_caller = {
292 dependencies = ["debug_inspector"];
293 groups = ["development"];
294 platforms = [];
295 source = {
296 remotes = ["https://rubygems.org"];
297 sha256 = "05syqlks7463zsy1jdfbbdravdhj9hpj5pv2m74blqpv8bq4vv5g";
298 type = "gem";
299 };
300 version = "0.8.0";
301 };
302 bootsnap = {
303 dependencies = ["msgpack"];
304 groups = ["default"];
305 platforms = [];
306 source = {
307 remotes = ["https://rubygems.org"];
308 sha256 = "0g6r784lmjfhwi046w82phsk244byq9wkj1q3lddwxg9z559bmhy";
309 type = "gem";
310 };
311 version = "1.3.2";
312 };
313 brakeman = {
314 groups = ["development"];
315 platforms = [];
316 source = {
317 remotes = ["https://rubygems.org"];
318 sha256 = "1y4i4vw7hawypvgg04s544fqx52ml67h9zxsaqm8w5hvxmb20wkh";
319 type = "gem";
320 };
321 version = "4.3.1";
322 };
323 browser = {
324 groups = ["default"];
325 platforms = [];
326 source = {
327 remotes = ["https://rubygems.org"];
328 sha256 = "0sdx0ny34i6vqxdsc7sy9g0nafdbrw8kvvb5xh9m18x1bzpqk92f";
329 type = "gem";
330 };
331 version = "2.5.3";
332 };
333 builder = {
334 groups = ["default" "development" "pam_authentication" "production" "test"];
335 platforms = [];
336 source = {
337 remotes = ["https://rubygems.org"];
338 sha256 = "0qibi5s67lpdv1wgcj66wcymcr04q6j4mzws6a479n0mlrmh5wr1";
339 type = "gem";
340 };
341 version = "3.2.3";
342 };
343 bullet = {
344 dependencies = ["activesupport" "uniform_notifier"];
345 groups = ["development"];
346 platforms = [];
347 source = {
348 remotes = ["https://rubygems.org"];
349 sha256 = "1szq47fa3m1k3x9dj6gh2g6q5n36zdmw8yxl5g45pbxrg70iaga8";
350 type = "gem";
351 };
352 version = "5.7.6";
353 };
354 bundler-audit = {
355 dependencies = ["thor"];
356 groups = ["development"];
357 platforms = [];
358 source = {
359 remotes = ["https://rubygems.org"];
360 sha256 = "1b884xja6q87siscsx34z2ky3h7npd334pprfy13ns60fax8pn52";
361 type = "gem";
362 };
363 version = "0.6.0";
364 };
365 byebug = {
366 groups = ["default" "development" "test"];
367 platforms = [];
368 source = {
369 remotes = ["https://rubygems.org"];
370 sha256 = "10znc1hjv8n686hhpl08f3m2g6h08a4b83nxblqwy2kqamkxcqf8";
371 type = "gem";
372 };
373 version = "10.0.2";
374 };
375 capistrano = {
376 dependencies = ["airbrussh" "i18n" "rake" "sshkit"];
377 groups = ["development"];
378 platforms = [];
379 source = {
380 remotes = ["https://rubygems.org"];
381 sha256 = "1p1hj8hpmplxl41y6phsvkw2k8x3yxmkngs8yl8gkr7c1ma870p4";
382 type = "gem";
383 };
384 version = "3.11.0";
385 };
386 capistrano-bundler = {
387 dependencies = ["capistrano" "sshkit"];
388 groups = ["default" "development"];
389 platforms = [];
390 source = {
391 remotes = ["https://rubygems.org"];
392 sha256 = "1p00rw2886v77kfjnh0mslyrv4lij5fa9niflz1lhynzlivgrmdr";
393 type = "gem";
394 };
395 version = "1.3.0";
396 };
397 capistrano-rails = {
398 dependencies = ["capistrano" "capistrano-bundler"];
399 groups = ["development"];
400 platforms = [];
401 source = {
402 remotes = ["https://rubygems.org"];
403 sha256 = "19j82kiarrph1ilw2xfhfj62z0b53w0gph7613b21iccb2gn3dqy";
404 type = "gem";
405 };
406 version = "1.4.0";
407 };
408 capistrano-rbenv = {
409 dependencies = ["capistrano" "sshkit"];
410 groups = ["development"];
411 platforms = [];
412 source = {
413 remotes = ["https://rubygems.org"];
414 sha256 = "182dmsliny87b74m9mxi7farmp03ycqh30yf58b2kcx7m2js2s92";
415 type = "gem";
416 };
417 version = "2.1.4";
418 };
419 capistrano-yarn = {
420 dependencies = ["capistrano"];
421 groups = ["development"];
422 platforms = [];
423 source = {
424 remotes = ["https://rubygems.org"];
425 sha256 = "1zdg2s061vl5b8114n909mrjb2hc1qx0i4wqx9nacsrcjgyp07l9";
426 type = "gem";
427 };
428 version = "2.0.2";
429 };
430 capybara = {
431 dependencies = ["addressable" "mini_mime" "nokogiri" "rack" "rack-test" "regexp_parser" "xpath"];
432 groups = ["test"];
433 platforms = [];
434 source = {
435 remotes = ["https://rubygems.org"];
436 sha256 = "0mgx24j9aqcablkny997qm8f1w0cpqmgy6kscrmna1k6r18w8pva";
437 type = "gem";
438 };
439 version = "3.10.0";
440 };
441 case_transform = {
442 dependencies = ["activesupport"];
443 groups = ["default"];
444 platforms = [];
445 source = {
446 remotes = ["https://rubygems.org"];
447 sha256 = "0fzyws6spn5arqf6q604dh9mrj84a36k5hsc8z7jgcpfvhc49bg2";
448 type = "gem";
449 };
450 version = "0.2";
451 };
452 charlock_holmes = {
453 groups = ["default"];
454 platforms = [];
455 source = {
456 remotes = ["https://rubygems.org"];
457 sha256 = "1nf1l31n10yaark2rrg5qzyzcx9w80681449s3j09qmnipsl8rl5";
458 type = "gem";
459 };
460 version = "0.7.6";
461 };
462 chewy = {
463 dependencies = ["activesupport" "elasticsearch" "elasticsearch-dsl"];
464 groups = ["default"];
465 platforms = [];
466 source = {
467 remotes = ["https://rubygems.org"];
468 sha256 = "0m1n98fww2is9v4h73qnxjzs0l9ixx2szby5rip26g9l7mjwmm7v";
469 type = "gem";
470 };
471 version = "5.0.0";
472 };
473 chunky_png = {
474 groups = ["default"];
475 platforms = [];
476 source = {
477 remotes = ["https://rubygems.org"];
478 sha256 = "05g2xli9wbjylkmblln3bhvjalziwb92q452q8ibjagmb853424w";
479 type = "gem";
480 };
481 version = "1.3.10";
482 };
483 cld3 = {
484 dependencies = ["ffi"];
485 groups = ["default"];
486 platforms = [];
487 source = {
488 remotes = ["https://rubygems.org"];
489 sha256 = "0ij0i1c511hak7n588qpl0pczdyvin7bzm4g4p5drzbrvr4n1ln7";
490 type = "gem";
491 };
492 version = "3.2.2";
493 };
494 climate_control = {
495 groups = ["test"];
496 platforms = [];
497 source = {
498 remotes = ["https://rubygems.org"];
499 sha256 = "0q11v0iabvr6rif0d025xh078ili5frrihlj0m04zfg7lgvagxji";
500 type = "gem";
501 };
502 version = "0.2.0";
503 };
504 cocaine = {
505 dependencies = ["climate_control"];
506 groups = ["default"];
507 platforms = [];
508 source = {
509 remotes = ["https://rubygems.org"];
510 sha256 = "01kk5xd7lspbkdvn6nyj0y51zhvia3z6r4nalbdcqw5fbsywwi7d";
511 type = "gem";
512 };
513 version = "0.5.8";
514 };
515 coderay = {
516 groups = ["default" "development" "test"];
517 platforms = [];
518 source = {
519 remotes = ["https://rubygems.org"];
520 sha256 = "15vav4bhcc2x3jmi3izb11l4d9f3xv8hp2fszb7iqmpsccv1pz4y";
521 type = "gem";
522 };
523 version = "1.1.2";
524 };
525 concurrent-ruby = {
526 groups = ["default" "development" "pam_authentication" "production" "test"];
527 platforms = [];
528 source = {
529 remotes = ["https://rubygems.org"];
530 sha256 = "183lszf5gx84kcpb779v6a2y0mx9sssy8dgppng1z9a505nj1qcf";
531 type = "gem";
532 };
533 version = "1.0.5";
534 };
535 connection_pool = {
536 groups = ["default" "test"];
537 platforms = [];
538 source = {
539 remotes = ["https://rubygems.org"];
540 sha256 = "0lflx29mlznf1hn0nihkgllzbj8xp5qasn8j7h838465pi399k68";
541 type = "gem";
542 };
543 version = "2.2.2";
544 };
545 crack = {
546 dependencies = ["safe_yaml"];
547 groups = ["default" "test"];
548 platforms = [];
549 source = {
550 remotes = ["https://rubygems.org"];
551 sha256 = "0abb0fvgw00akyik1zxnq7yv391va148151qxdghnzngv66bl62k";
552 type = "gem";
553 };
554 version = "0.4.3";
555 };
556 crass = {
557 groups = ["default" "development" "pam_authentication" "production" "test"];
558 platforms = [];
559 source = {
560 remotes = ["https://rubygems.org"];
561 sha256 = "0bpxzy6gjw9ggjynlxschbfsgmx8lv3zw1azkjvnb8b9i895dqfi";
562 type = "gem";
563 };
564 version = "1.0.4";
565 };
566 css_parser = {
567 dependencies = ["addressable"];
568 groups = ["default"];
569 platforms = [];
570 source = {
571 remotes = ["https://rubygems.org"];
572 sha256 = "0gwvf8mc8gnz4aizfijplv3594998h2j44ydakpzsdmkivs07v61";
573 type = "gem";
574 };
575 version = "1.6.0";
576 };
577 debug_inspector = {
578 groups = ["default" "development"];
579 platforms = [];
580 source = {
581 remotes = ["https://rubygems.org"];
582 sha256 = "0vxr0xa1mfbkfcrn71n7c4f2dj7la5hvphn904vh20j3x4j5lrx0";
583 type = "gem";
584 };
585 version = "0.0.3";
586 };
587 derailed_benchmarks = {
588 dependencies = ["benchmark-ips" "get_process_mem" "heapy" "memory_profiler" "rack" "rake" "thor"];
589 groups = ["development"];
590 platforms = [];
591 source = {
592 remotes = ["https://rubygems.org"];
593 sha256 = "1c9djg1r2w461h97zmmdsdgnsrxqm4qfyp7gry9qxbav9skrplb8";
594 type = "gem";
595 };
596 version = "1.3.5";
597 };
598 devise = {
599 dependencies = ["bcrypt" "orm_adapter" "railties" "responders" "warden"];
600 groups = ["default" "pam_authentication"];
601 platforms = [];
602 source = {
603 remotes = ["https://rubygems.org"];
604 sha256 = "1vs8nibl568ghm6a7hbw6xgcv8zbm4gykprcxpnzi7bz5d4gvcjx";
605 type = "gem";
606 };
607 version = "4.5.0";
608 };
609 devise-two-factor = {
610 dependencies = ["activesupport" "attr_encrypted" "devise" "railties" "rotp"];
611 groups = ["default"];
612 platforms = [];
613 source = {
614 remotes = ["https://rubygems.org"];
615 sha256 = "1b61s5y1ch205lgf3xv8hcvyi27ddd0d4qbbcpnnakhn2bx16lmc";
616 type = "gem";
617 };
618 version = "3.0.3";
619 };
620 devise_pam_authenticatable2 = {
621 dependencies = ["devise" "rpam2"];
622 groups = ["pam_authentication"];
623 platforms = [];
624 source = {
625 remotes = ["https://rubygems.org"];
626 sha256 = "13ipl52pkhc6vxp8ca31viwv01237bi2bfk3b1fixq1x46nf87p2";
627 type = "gem";
628 };
629 version = "9.2.0";
630 };
631 diff-lcs = {
632 groups = ["default" "development" "test"];
633 platforms = [];
634 source = {
635 remotes = ["https://rubygems.org"];
636 sha256 = "18w22bjz424gzafv6nzv98h0aqkwz3d9xhm7cbr1wfbyas8zayza";
637 type = "gem";
638 };
639 version = "1.3";
640 };
641 docile = {
642 groups = ["default" "test"];
643 platforms = [];
644 source = {
645 remotes = ["https://rubygems.org"];
646 sha256 = "0yyh4lr03q2vafzsfqy1xax7vr8zn7mbddz3ax3vnlm5fg0px6pn";
647 type = "gem";
648 };
649 version = "1.3.0";
650 };
651 domain_name = {
652 dependencies = ["unf"];
653 groups = ["default"];
654 platforms = [];
655 source = {
656 remotes = ["https://rubygems.org"];
657 sha256 = "0abdlwb64ns7ssmiqhdwgl27ly40x2l27l8hs8hn0z4kb3zd2x3v";
658 type = "gem";
659 };
660 version = "0.5.20180417";
661 };
662 doorkeeper = {
663 dependencies = ["railties"];
664 groups = ["default"];
665 platforms = [];
666 source = {
667 remotes = ["https://rubygems.org"];
668 sha256 = "0488m6nwp31mxrhayj60gsb7jgyw1lzh73r2kldx00a9bw3634d4";
669 type = "gem";
670 };
671 version = "5.0.2";
672 };
673 dotenv = {
674 groups = ["default"];
675 platforms = [];
676 source = {
677 remotes = ["https://rubygems.org"];
678 sha256 = "1va5y19f7l5jh53vz5vibz618lg8z93k5m2k70l25s9k46v2gfm3";
679 type = "gem";
680 };
681 version = "2.5.0";
682 };
683 dotenv-rails = {
684 dependencies = ["dotenv" "railties"];
685 groups = ["default"];
686 platforms = [];
687 source = {
688 remotes = ["https://rubygems.org"];
689 sha256 = "1vmk541bhb2mw0gfc1bg43jdilqspiggxzglnlr26rzsmvy2cgd2";
690 type = "gem";
691 };
692 version = "2.5.0";
693 };
694 elasticsearch = {
695 dependencies = ["elasticsearch-api" "elasticsearch-transport"];
696 groups = ["default"];
697 platforms = [];
698 source = {
699 remotes = ["https://rubygems.org"];
700 sha256 = "0a08ynvxz5clfm2ndqpgjrv4aiga9m2y1ab34s3qkihdfdzdzhj8";
701 type = "gem";
702 };
703 version = "6.0.2";
704 };
705 elasticsearch-api = {
706 dependencies = ["multi_json"];
707 groups = ["default"];
708 platforms = [];
709 source = {
710 remotes = ["https://rubygems.org"];
711 sha256 = "1vkahknqn85vvwr1gzh8jf3pvdial0c0d524icg8x06vibqgzd5h";
712 type = "gem";
713 };
714 version = "6.0.2";
715 };
716 elasticsearch-dsl = {
717 groups = ["default"];
718 platforms = [];
719 source = {
720 remotes = ["https://rubygems.org"];
721 sha256 = "1mwn6hvkki560p7sfc841q15zzgldsk9lzm2mlvc2bra7x1yk2q8";
722 type = "gem";
723 };
724 version = "0.1.5";
725 };
726 elasticsearch-transport = {
727 dependencies = ["faraday" "multi_json"];
728 groups = ["default"];
729 platforms = [];
730 source = {
731 remotes = ["https://rubygems.org"];
732 sha256 = "0gpwbw70qisx681j1bw8xq6shg5kdxmcdzg6425af0b5881jg7iy";
733 type = "gem";
734 };
735 version = "6.0.2";
736 };
737 encryptor = {
738 groups = ["default"];
739 platforms = [];
740 source = {
741 remotes = ["https://rubygems.org"];
742 sha256 = "0s8rvfl0vn8w7k1sgkc234060jh468s3zd45xa64p1jdmfa3zwmb";
743 type = "gem";
744 };
745 version = "3.0.0";
746 };
747 equatable = {
748 groups = ["default"];
749 platforms = [];
750 source = {
751 remotes = ["https://rubygems.org"];
752 sha256 = "1sjm9zjakyixyvsqziikdrsqfzis6j3fq23crgjkp6fwkfgndj7x";
753 type = "gem";
754 };
755 version = "0.5.0";
756 };
757 erubi = {
758 groups = ["default" "development" "pam_authentication" "production" "test"];
759 platforms = [];
760 source = {
761 remotes = ["https://rubygems.org"];
762 sha256 = "0bws86na9k565raiz0kk61yy5pxxp0fmwyzpibdwjkq0xzx8q6q1";
763 type = "gem";
764 };
765 version = "1.7.1";
766 };
767 et-orbi = {
768 dependencies = ["tzinfo"];
769 groups = ["default"];
770 platforms = [];
771 source = {
772 remotes = ["https://rubygems.org"];
773 sha256 = "0wk7i0bmsy46la8gcvbmdns0ni8lmdqas838phj97bdwykxw8m4b";
774 type = "gem";
775 };
776 version = "1.1.6";
777 };
778 excon = {
779 groups = ["default"];
780 platforms = [];
781 source = {
782 remotes = ["https://rubygems.org"];
783 sha256 = "15l9w0938c19nxmrp09n75qpmm64k12xj69h47yvxzcxcpbgnkb2";
784 type = "gem";
785 };
786 version = "0.62.0";
787 };
788 fabrication = {
789 groups = ["development" "test"];
790 platforms = [];
791 source = {
792 remotes = ["https://rubygems.org"];
793 sha256 = "0an28kjand4mjbkmnwd9fmgq3y5vf717zpmiijavar3sxqj52zri";
794 type = "gem";
795 };
796 version = "2.20.1";
797 };
798 faker = {
799 dependencies = ["i18n"];
800 groups = ["test"];
801 platforms = [];
802 source = {
803 remotes = ["https://rubygems.org"];
804 sha256 = "01q7wrk5bl0c0qrvg2my3kl0mbfnj1jpd89mqm3fzy4ggbkdhh7i";
805 type = "gem";
806 };
807 version = "1.9.1";
808 };
809 faraday = {
810 dependencies = ["multipart-post"];
811 groups = ["default"];
812 platforms = [];
813 source = {
814 remotes = ["https://rubygems.org"];
815 sha256 = "1dv1vcxxyw4vy0r2diiml0r8zqk1csrksfxv8nkrw61xlf2daaaa";
816 type = "gem";
817 };
818 version = "0.15.0";
819 };
820 fast_blank = {
821 groups = ["default"];
822 platforms = [];
823 source = {
824 remotes = ["https://rubygems.org"];
825 sha256 = "16s1ilyvwzmkcgmklbrn0c2pch5n02vf921njx0bld4crgdr6z56";
826 type = "gem";
827 };
828 version = "1.0.0";
829 };
830 fastimage = {
831 groups = ["default"];
832 platforms = [];
833 source = {
834 remotes = ["https://rubygems.org"];
835 sha256 = "0i7p9jgb9x1lxkhkwq8xlq7an5qbgdq6gsyrbs2xnf5ffa8yx1i2";
836 type = "gem";
837 };
838 version = "2.1.4";
839 };
840 ffi = {
841 groups = ["default" "development"];
842 platforms = [];
843 source = {
844 remotes = ["https://rubygems.org"];
845 sha256 = "0jpm2dis1j7zvvy3lg7axz9jml316zrn7s0j59vyq3qr127z0m7q";
846 type = "gem";
847 };
848 version = "1.9.25";
849 };
850 fog-core = {
851 dependencies = ["builder" "excon" "formatador" "mime-types"];
852 groups = ["default"];
853 platforms = [];
854 source = {
855 remotes = ["https://rubygems.org"];
856 sha256 = "1agd6xgzk0rxrsjdpn94v4hy89s0nm2cs4zg2p880w2dan9xgrak";
857 type = "gem";
858 };
859 version = "2.1.0";
860 };
861 fog-json = {
862 dependencies = ["fog-core" "multi_json"];
863 groups = ["default"];
864 platforms = [];
865 source = {
866 remotes = ["https://rubygems.org"];
867 sha256 = "1zj8llzc119zafbmfa4ai3z5s7c4vp9akfs0f9l2piyvcarmlkyx";
868 type = "gem";
869 };
870 version = "1.2.0";
871 };
872 fog-openstack = {
873 dependencies = ["fog-core" "fog-json" "ipaddress"];
874 groups = ["default"];
875 platforms = [];
876 source = {
877 remotes = ["https://rubygems.org"];
878 sha256 = "0aphjrvmchmqbyxqq82yj0qngyvkmwdci9iqs8722fi23bk83gdl";
879 type = "gem";
880 };
881 version = "0.3.7";
882 };
883 formatador = {
884 groups = ["default"];
885 platforms = [];
886 source = {
887 remotes = ["https://rubygems.org"];
888 sha256 = "1gc26phrwlmlqrmz4bagq1wd5b7g64avpx0ghxr9xdxcvmlii0l0";
889 type = "gem";
890 };
891 version = "0.2.5";
892 };
893 fugit = {
894 dependencies = ["et-orbi" "raabro"];
895 groups = ["default"];
896 platforms = [];
897 source = {
898 remotes = ["https://rubygems.org"];
899 sha256 = "1szijawzdii668z5is9xi849399gy786951dx0l5r2z5mbfqvl9i";
900 type = "gem";
901 };
902 version = "1.1.6";
903 };
904 fuubar = {
905 dependencies = ["rspec-core" "ruby-progressbar"];
906 groups = ["development" "test"];
907 platforms = [];
908 source = {
909 remotes = ["https://rubygems.org"];
910 sha256 = "1sqkr1nh49rlm86l3qyrgsdqavgqii4pnrjn7855z6dfavh3spxr";
911 type = "gem";
912 };
913 version = "2.3.2";
914 };
915 get_process_mem = {
916 groups = ["default" "development"];
917 platforms = [];
918 source = {
919 remotes = ["https://rubygems.org"];
920 sha256 = "0bfd9q1z133a0wh3l8g2imd2rdlbdhav0z41k147n8j40hgg8ygw";
921 type = "gem";
922 };
923 version = "0.2.2";
924 };
925 globalid = {
926 dependencies = ["activesupport"];
927 groups = ["default" "development"];
928 platforms = [];
929 source = {
930 remotes = ["https://rubygems.org"];
931 sha256 = "02smrgdi11kziqi9zhnsy9i6yr2fnxrqlv3lllsvdjki3cd4is38";
932 type = "gem";
933 };
934 version = "0.4.1";
935 };
936 goldfinger = {
937 dependencies = ["addressable" "http" "nokogiri" "oj"];
938 groups = ["default"];
939 platforms = [];
940 source = {
941 remotes = ["https://rubygems.org"];
942 sha256 = "0n142035jhyqwczi52zjr07c8kygp9b9f158miaby3z5hygzjyzh";
943 type = "gem";
944 };
945 version = "2.1.0";
946 };
947 hamlit = {
948 dependencies = ["temple" "thor" "tilt"];
949 groups = ["default"];
950 platforms = [];
951 source = {
952 remotes = ["https://rubygems.org"];
953 sha256 = "0hk338vkzmwszxdh0q02iw88rbr3bj3fd7fzn4psm8wy80zcgl9i";
954 type = "gem";
955 };
956 version = "2.8.8";
957 };
958 hamlit-rails = {
959 dependencies = ["actionpack" "activesupport" "hamlit" "railties"];
960 groups = ["default"];
961 platforms = [];
962 source = {
963 remotes = ["https://rubygems.org"];
964 sha256 = "14gzlp6w1j3b5fb4bhbjjh24skx031vnfc2shym9bkmq3r0p8dws";
965 type = "gem";
966 };
967 version = "0.2.0";
968 };
969 hamster = {
970 dependencies = ["concurrent-ruby"];
971 groups = ["default"];
972 platforms = [];
973 source = {
974 remotes = ["https://rubygems.org"];
975 sha256 = "1n1lsh96vnyc1pnzyd30f9prcsclmvmkdb3nm5aahnyizyiy6lar";
976 type = "gem";
977 };
978 version = "3.0.0";
979 };
980 hashdiff = {
981 groups = ["default" "test"];
982 platforms = [];
983 source = {
984 remotes = ["https://rubygems.org"];
985 sha256 = "0yj5l2rw8i8jc725hbcpc4wks0qlaaimr3dpaqamfjkjkxl0hjp9";
986 type = "gem";
987 };
988 version = "0.3.7";
989 };
990 hashie = {
991 groups = ["default"];
992 platforms = [];
993 source = {
994 remotes = ["https://rubygems.org"];
995 sha256 = "1hh5lybf8hm7d7xs4xm8hxvm8xqrs2flc8fnwkrclaj746izw6xb";
996 type = "gem";
997 };
998 version = "3.5.7";
999 };
1000 heapy = {
1001 groups = ["default" "development"];
1002 platforms = [];
1003 source = {
1004 remotes = ["https://rubygems.org"];
1005 sha256 = "1r9f38fpgjgaxskkwvsliijj6vfmgsff9pnranvvvzkdl67hk1hw";
1006 type = "gem";
1007 };
1008 version = "0.1.4";
1009 };
1010 highline = {
1011 groups = ["default" "development" "test"];
1012 platforms = [];
1013 source = {
1014 remotes = ["https://rubygems.org"];
1015 sha256 = "069sz5qmjpmv3x7kr5r3rwl20m9vqg97p15scmjdagglra34clkl";
1016 type = "gem";
1017 };
1018 version = "2.0.0";
1019 };
1020 hiredis = {
1021 groups = ["default"];
1022 platforms = [];
1023 source = {
1024 remotes = ["https://rubygems.org"];
1025 sha256 = "19fsmy0qv0spyv1jm0mp6c8pk08r1rilw5f778m4n7hbc1x01wnl";
1026 type = "gem";
1027 };
1028 version = "0.6.1";
1029 };
1030 hitimes = {
1031 groups = ["default"];
1032 platforms = [];
1033 source = {
1034 remotes = ["https://rubygems.org"];
1035 sha256 = "1z1ss5j5xf9lpc0pn8vbhxkx63r6ai1dd453dqcms2638kx4l2b9";
1036 type = "gem";
1037 };
1038 version = "1.3.0";
1039 };
1040 hkdf = {
1041 groups = ["default"];
1042 platforms = [];
1043 source = {
1044 remotes = ["https://rubygems.org"];
1045 sha256 = "04fixg0a51n4vy0j6c1hvisa2yl33m3jrrpxpb5sq6j511vjriil";
1046 type = "gem";
1047 };
1048 version = "0.3.0";
1049 };
1050 htmlentities = {
1051 groups = ["default"];
1052 platforms = [];
1053 source = {
1054 remotes = ["https://rubygems.org"];
1055 sha256 = "1nkklqsn8ir8wizzlakncfv42i32wc0w9hxp00hvdlgjr7376nhj";
1056 type = "gem";
1057 };
1058 version = "4.3.4";
1059 };
1060 http = {
1061 dependencies = ["addressable" "http-cookie" "http-form_data" "http_parser.rb"];
1062 groups = ["default"];
1063 platforms = [];
1064 source = {
1065 remotes = ["https://rubygems.org"];
1066 sha256 = "1jlm5prw437wqpfxcigh88lfap3m7g8mnmj5as7qw6dzqnvrxwmc";
1067 type = "gem";
1068 };
1069 version = "3.3.0";
1070 };
1071 http-cookie = {
1072 dependencies = ["domain_name"];
1073 groups = ["default"];
1074 platforms = [];
1075 source = {
1076 remotes = ["https://rubygems.org"];
1077 sha256 = "004cgs4xg5n6byjs7qld0xhsjq3n6ydfh897myr2mibvh6fjc49g";
1078 type = "gem";
1079 };
1080 version = "1.0.3";
1081 };
1082 http-form_data = {
1083 groups = ["default"];
1084 platforms = [];
1085 source = {
1086 remotes = ["https://rubygems.org"];
1087 sha256 = "15lpn604byf7cyxnw949xz4rvpcknqp7a48q73nm630gqxsa76f3";
1088 type = "gem";
1089 };
1090 version = "2.1.1";
1091 };
1092 http_accept_language = {
1093 groups = ["default"];
1094 platforms = [];
1095 source = {
1096 remotes = ["https://rubygems.org"];
1097 sha256 = "0d0nlfz9vm4jr1l6q0chx4rp2hrnrfbx3gadc1dz930lbbaz0hq0";
1098 type = "gem";
1099 };
1100 version = "2.1.1";
1101 };
1102 "http_parser.rb" = {
1103 groups = ["default"];
1104 platforms = [];
1105 source = {
1106 fetchSubmodules = true;
1107 rev = "54b17ba8c7d8d20a16dfc65d1775241833219cf2";
1108 sha256 = "079nwjsmg9jp33afc4f5bhjdbhcnfykdw4rd7ahhz8cbdkbhlzcp";
1109 type = "git";
1110 url = "https://github.com/tmm1/http_parser.rb";
1111 };
1112 version = "0.6.1";
1113 };
1114 httplog = {
1115 dependencies = ["rack" "rainbow"];
1116 groups = ["default"];
1117 platforms = [];
1118 source = {
1119 remotes = ["https://rubygems.org"];
1120 sha256 = "1kxxvkk2zkvq5skj5m6j6z5v0zz404f1s5fi6s4p8ywx5g1hj4ff";
1121 type = "gem";
1122 };
1123 version = "1.1.1";
1124 };
1125 i18n = {
1126 dependencies = ["concurrent-ruby"];
1127 groups = ["default" "development" "pam_authentication" "production" "test"];
1128 platforms = [];
1129 source = {
1130 remotes = ["https://rubygems.org"];
1131 sha256 = "1gcp1m1p6dpasycfz2sj82ci9ggz7lsskz9c9q6gvfwxrl8y9dx7";
1132 type = "gem";
1133 };
1134 version = "1.1.1";
1135 };
1136 i18n-tasks = {
1137 dependencies = ["activesupport" "ast" "erubi" "highline" "i18n" "parser" "rails-i18n" "rainbow" "terminal-table"];
1138 groups = ["development" "test"];
1139 platforms = [];
1140 source = {
1141 remotes = ["https://rubygems.org"];
1142 sha256 = "16592471ylgigmjx98pmbqibjwhavr4wb670kya9qh3nbgf7s1ym";
1143 type = "gem";
1144 };
1145 version = "0.9.28";
1146 };
1147 idn-ruby = {
1148 groups = ["default"];
1149 platforms = [];
1150 source = {
1151 remotes = ["https://rubygems.org"];
1152 sha256 = "07vblcyk3g72sbq12xz7xj28snpxnh3sbcnxy8bglqbfqqhvmawr";
1153 type = "gem";
1154 };
1155 version = "0.1.0";
1156 };
1157 ipaddress = {
1158 groups = ["default"];
1159 platforms = [];
1160 source = {
1161 remotes = ["https://rubygems.org"];
1162 sha256 = "1x86s0s11w202j6ka40jbmywkrx8fhq8xiy8mwvnkhllj57hqr45";
1163 type = "gem";
1164 };
1165 version = "0.8.3";
1166 };
1167 iso-639 = {
1168 groups = ["default"];
1169 platforms = [];
1170 source = {
1171 remotes = ["https://rubygems.org"];
1172 sha256 = "10k1gpkkbxbasgjzh4hd32ygxzjb5312rphipm46ryxkpx556zzz";
1173 type = "gem";
1174 };
1175 version = "0.2.8";
1176 };
1177 jaro_winkler = {
1178 groups = ["default" "development"];
1179 platforms = [];
1180 source = {
1181 remotes = ["https://rubygems.org"];
1182 sha256 = "0rr797nqz081bfk30m2apj5h24bg5d1jr1c8p3xwx4hbwsrbclah";
1183 type = "gem";
1184 };
1185 version = "1.5.1";
1186 };
1187 jmespath = {
1188 groups = ["default"];
1189 platforms = [];
1190 source = {
1191 remotes = ["https://rubygems.org"];
1192 sha256 = "1d4wac0dcd1jf6kc57891glih9w57552zgqswgy74d1xhgnk0ngf";
1193 type = "gem";
1194 };
1195 version = "1.4.0";
1196 };
1197 json = {
1198 groups = ["default" "test"];
1199 platforms = [];
1200 source = {
1201 remotes = ["https://rubygems.org"];
1202 sha256 = "01v6jjpvh3gnq6sgllpfqahlgxzj50ailwhj9b3cd20hi2dx0vxp";
1203 type = "gem";
1204 };
1205 version = "2.1.0";
1206 };
1207 json-ld = {
1208 dependencies = ["multi_json" "rdf"];
1209 groups = ["default"];
1210 platforms = [];
1211 source = {
1212 remotes = ["https://rubygems.org"];
1213 sha256 = "08ql8j546akan51yhrjjcphwjdmrl551sz5hi2czc74993523mkw";
1214 type = "gem";
1215 };
1216 version = "2.2.1";
1217 };
1218 json-ld-preloaded = {
1219 dependencies = ["json-ld" "multi_json" "rdf"];
1220 groups = ["default"];
1221 platforms = [];
1222 source = {
1223 remotes = ["https://rubygems.org"];
1224 sha256 = "08vjc9bgb0bh7dafs55i0ph4jqb7asj0p8qhhls8kq1ira7kzbng";
1225 type = "gem";
1226 };
1227 version = "2.2.3";
1228 };
1229 jsonapi-renderer = {
1230 groups = ["default"];
1231 platforms = [];
1232 source = {
1233 remotes = ["https://rubygems.org"];
1234 sha256 = "00ysmcv3nrccyimi334ida4axlfgir6cc2ryjxrf4xb97m1bfk5j";
1235 type = "gem";
1236 };
1237 version = "0.2.0";
1238 };
1239 jwt = {
1240 groups = ["default"];
1241 platforms = [];
1242 source = {
1243 remotes = ["https://rubygems.org"];
1244 sha256 = "1w0kaqrbl71cq9sbnixc20x5lqah3hs2i93xmhlfdg2y3by7yzky";
1245 type = "gem";
1246 };
1247 version = "2.1.0";
1248 };
1249 kaminari = {
1250 dependencies = ["activesupport" "kaminari-actionview" "kaminari-activerecord" "kaminari-core"];
1251 groups = ["default"];
1252 platforms = [];
1253 source = {
1254 remotes = ["https://rubygems.org"];
1255 sha256 = "1j27y5phifwpggspglmg8pmlf6n4jblxwziix9am42661c770jlm";
1256 type = "gem";
1257 };
1258 version = "1.1.1";
1259 };
1260 kaminari-actionview = {
1261 dependencies = ["actionview" "kaminari-core"];
1262 groups = ["default"];
1263 platforms = [];
1264 source = {
1265 remotes = ["https://rubygems.org"];
1266 sha256 = "1386wshpy1ygbris0s7rv7lyzbs0v8dfqkzdwsrsgm9fd1ira640";
1267 type = "gem";
1268 };
1269 version = "1.1.1";
1270 };
1271 kaminari-activerecord = {
1272 dependencies = ["activerecord" "kaminari-core"];
1273 groups = ["default"];
1274 platforms = [];
1275 source = {
1276 remotes = ["https://rubygems.org"];
1277 sha256 = "0q31ik5648xi2hpy61knnjd0m7rvs17i93gzwcbh3ccj1y24gv2x";
1278 type = "gem";
1279 };
1280 version = "1.1.1";
1281 };
1282 kaminari-core = {
1283 groups = ["default"];
1284 platforms = [];
1285 source = {
1286 remotes = ["https://rubygems.org"];
1287 sha256 = "1cfjrhvidvgdwp9ffsm9d4c2s18k2zp3gnya3f41qb3fc6bc2q2w";
1288 type = "gem";
1289 };
1290 version = "1.1.1";
1291 };
1292 launchy = {
1293 dependencies = ["addressable"];
1294 groups = ["default" "development"];
1295 platforms = [];
1296 source = {
1297 remotes = ["https://rubygems.org"];
1298 sha256 = "190lfbiy1vwxhbgn4nl4dcbzxvm049jwc158r2x7kq3g5khjrxa2";
1299 type = "gem";
1300 };
1301 version = "2.4.3";
1302 };
1303 letter_opener = {
1304 dependencies = ["launchy"];
1305 groups = ["development"];
1306 platforms = [];
1307 source = {
1308 remotes = ["https://rubygems.org"];
1309 sha256 = "0hvvcl2n4j05vixgydld9lm2hspifn9f651l0d9qdzvlic7wh0rx";
1310 type = "gem";
1311 };
1312 version = "1.6.0";
1313 };
1314 letter_opener_web = {
1315 dependencies = ["actionmailer" "letter_opener" "railties"];
1316 groups = ["development"];
1317 platforms = [];
1318 source = {
1319 remotes = ["https://rubygems.org"];
1320 sha256 = "17qhwrkncrrp1bi2f7fbkm5lpnkdsiwy8jcvgr2wa97ck8y4x2bb";
1321 type = "gem";
1322 };
1323 version = "1.3.4";
1324 };
1325 link_header = {
1326 groups = ["default"];
1327 platforms = [];
1328 source = {
1329 remotes = ["https://rubygems.org"];
1330 sha256 = "1yamrdq4rywmnpdhbygnkkl9fdy249fg5r851nrkkxr97gj5rihm";
1331 type = "gem";
1332 };
1333 version = "0.0.8";
1334 };
1335 lograge = {
1336 dependencies = ["actionpack" "activesupport" "railties" "request_store"];
1337 groups = ["production"];
1338 platforms = [];
1339 source = {
1340 remotes = ["https://rubygems.org"];
1341 sha256 = "00lcn7s3slfn32di4qwlx2yj5f9r2pcnd0naxrvqqwypcg1z2sdd";
1342 type = "gem";
1343 };
1344 version = "0.10.0";
1345 };
1346 loofah = {
1347 dependencies = ["crass" "nokogiri"];
1348 groups = ["default" "development" "pam_authentication" "production" "test"];
1349 platforms = [];
1350 source = {
1351 remotes = ["https://rubygems.org"];
1352 sha256 = "1ccsid33xjajd0im2xv941aywi58z7ihwkvaf1w2bv89vn5bhsjg";
1353 type = "gem";
1354 };
1355 version = "2.2.3";
1356 };
1357 mail = {
1358 dependencies = ["mini_mime"];
1359 groups = ["default" "development"];
1360 platforms = [];
1361 source = {
1362 remotes = ["https://rubygems.org"];
1363 sha256 = "10dyifazss9mgdzdv08p47p344wmphp5pkh5i73s7c04ra8y6ahz";
1364 type = "gem";
1365 };
1366 version = "2.7.0";
1367 };
1368 makara = {
1369 dependencies = ["activerecord"];
1370 groups = ["default"];
1371 platforms = [];
1372 source = {
1373 remotes = ["https://rubygems.org"];
1374 sha256 = "1ri6r558nylaclqhfq1zhapfsyhryggln7gw69qb9i4c1rkfnyd2";
1375 type = "gem";
1376 };
1377 version = "0.4.0";
1378 };
1379 marcel = {
1380 dependencies = ["mimemagic"];
1381 groups = ["default"];
1382 platforms = [];
1383 source = {
1384 remotes = ["https://rubygems.org"];
1385 sha256 = "0v1kncmyh0yn9h28zri6hkfdqzr8bf26ar9bvglhgzy0chqr9dp8";
1386 type = "gem";
1387 };
1388 version = "0.3.2";
1389 };
1390 mario-redis-lock = {
1391 dependencies = ["redis"];
1392 groups = ["default"];
1393 platforms = [];
1394 source = {
1395 remotes = ["https://rubygems.org"];
1396 sha256 = "1v9wdjcjqzpns2migxp4a5b4w82mipi0fwihbqz3q2qj2qm7wc17";
1397 type = "gem";
1398 };
1399 version = "1.2.1";
1400 };
1401 memory_profiler = {
1402 groups = ["development"];
1403 platforms = [];
1404 source = {
1405 remotes = ["https://rubygems.org"];
1406 sha256 = "0qir6bc2rw6lac6fsjhnspqyr01sh12d75dkd630qknjwvrrq8kj";
1407 type = "gem";
1408 };
1409 version = "0.9.12";
1410 };
1411 method_source = {
1412 groups = ["default" "development" "pam_authentication" "production" "test"];
1413 platforms = [];
1414 source = {
1415 remotes = ["https://rubygems.org"];
1416 sha256 = "0xqj21j3vfq4ldia6i2akhn2qd84m0iqcnsl49kfpq3xk6x0dzgn";
1417 type = "gem";
1418 };
1419 version = "0.9.0";
1420 };
1421 microformats = {
1422 dependencies = ["json" "nokogiri"];
1423 groups = ["test"];
1424 platforms = [];
1425 source = {
1426 remotes = ["https://rubygems.org"];
1427 sha256 = "14az36ax3n81fmwqjb5giixvxsnmxpnlfrsz012pl78x1bkrvfki";
1428 type = "gem";
1429 };
1430 version = "4.0.7";
1431 };
1432 mime-types = {
1433 dependencies = ["mime-types-data"];
1434 groups = ["default"];
1435 platforms = [];
1436 source = {
1437 remotes = ["https://rubygems.org"];
1438 sha256 = "0fjxy1jm52ixpnv3vg9ld9pr9f35gy0jp66i1njhqjvmnvq0iwwk";
1439 type = "gem";
1440 };
1441 version = "3.2.2";
1442 };
1443 mime-types-data = {
1444 groups = ["default"];
1445 platforms = [];
1446 source = {
1447 remotes = ["https://rubygems.org"];
1448 sha256 = "07wvp0aw2gjm4njibb70as6rh5hi1zzri5vky1q6jx95h8l56idc";
1449 type = "gem";
1450 };
1451 version = "3.2018.0812";
1452 };
1453 mimemagic = {
1454 groups = ["default"];
1455 platforms = [];
1456 source = {
1457 remotes = ["https://rubygems.org"];
1458 sha256 = "00ibc1mhvdfyfyl103xwb45621nwyqxf124cni5hyfhag0fn1c3q";
1459 type = "gem";
1460 };
1461 version = "0.3.2";
1462 };
1463 mini_mime = {
1464 groups = ["default" "development" "test"];
1465 platforms = [];
1466 source = {
1467 remotes = ["https://rubygems.org"];
1468 sha256 = "1q4pshq387lzv9m39jv32vwb8wrq3wc4jwgl4jk209r4l33v09d3";
1469 type = "gem";
1470 };
1471 version = "1.0.1";
1472 };
1473 mini_portile2 = {
1474 groups = ["default" "development" "pam_authentication" "production" "test"];
1475 platforms = [];
1476 source = {
1477 remotes = ["https://rubygems.org"];
1478 sha256 = "13d32jjadpjj6d2wdhkfpsmy68zjx90p49bgf8f7nkpz86r1fr11";
1479 type = "gem";
1480 };
1481 version = "2.3.0";
1482 };
1483 minitest = {
1484 groups = ["default" "development" "pam_authentication" "production" "test"];
1485 platforms = [];
1486 source = {
1487 remotes = ["https://rubygems.org"];
1488 sha256 = "0icglrhghgwdlnzzp4jf76b0mbc71s80njn5afyfjn4wqji8mqbq";
1489 type = "gem";
1490 };
1491 version = "5.11.3";
1492 };
1493 msgpack = {
1494 groups = ["default"];
1495 platforms = [];
1496 source = {
1497 remotes = ["https://rubygems.org"];
1498 sha256 = "09xy1wc4wfbd1jdrzgxwmqjzfdfxbz0cqdszq2gv6rmc3gv1c864";
1499 type = "gem";
1500 };
1501 version = "1.2.4";
1502 };
1503 multi_json = {
1504 groups = ["default"];
1505 platforms = [];
1506 source = {
1507 remotes = ["https://rubygems.org"];
1508 sha256 = "1rl0qy4inf1mp8mybfk56dfga0mvx97zwpmq5xmiwl5r770171nv";
1509 type = "gem";
1510 };
1511 version = "1.13.1";
1512 };
1513 multipart-post = {
1514 groups = ["default"];
1515 platforms = [];
1516 source = {
1517 remotes = ["https://rubygems.org"];
1518 sha256 = "09k0b3cybqilk1gwrwwain95rdypixb2q9w65gd44gfzsd84xi1x";
1519 type = "gem";
1520 };
1521 version = "2.0.0";
1522 };
1523 necromancer = {
1524 groups = ["default"];
1525 platforms = [];
1526 source = {
1527 remotes = ["https://rubygems.org"];
1528 sha256 = "0v9nhdkv6zrp7cn48xv7n2vjhsbslpvs0ha36mfkcd56cp27pavz";
1529 type = "gem";
1530 };
1531 version = "0.4.0";
1532 };
1533 net-ldap = {
1534 groups = ["default"];
1535 platforms = [];
1536 source = {
1537 remotes = ["https://rubygems.org"];
1538 sha256 = "016igqz81a8zcwqzp5bbhryqmb2skmyf57ij3nb5z8sxwhw22jgh";
1539 type = "gem";
1540 };
1541 version = "0.16.1";
1542 };
1543 net-scp = {
1544 dependencies = ["net-ssh"];
1545 groups = ["default" "development"];
1546 platforms = [];
1547 source = {
1548 remotes = ["https://rubygems.org"];
1549 sha256 = "0b0jqrcsp4bbi4n4mzyf70cp2ysyp6x07j8k8cqgxnvb4i3a134j";
1550 type = "gem";
1551 };
1552 version = "1.2.1";
1553 };
1554 net-ssh = {
1555 groups = ["default" "development"];
1556 platforms = [];
1557 source = {
1558 remotes = ["https://rubygems.org"];
1559 sha256 = "0qfanf71yv8w7yl9l9wqcy68i2x1ghvnf8m581yy4pl0anfdhqw8";
1560 type = "gem";
1561 };
1562 version = "5.0.2";
1563 };
1564 nio4r = {
1565 groups = ["default"];
1566 platforms = [];
1567 source = {
1568 remotes = ["https://rubygems.org"];
1569 sha256 = "1a41ca1kpdmrypjp9xbgvckpy8g26zxphkja9vk7j5wl4n8yvlyr";
1570 type = "gem";
1571 };
1572 version = "2.3.1";
1573 };
1574 nokogiri = {
1575 dependencies = ["mini_portile2"];
1576 groups = ["default" "development" "pam_authentication" "production" "test"];
1577 platforms = [];
1578 source = {
1579 remotes = ["https://rubygems.org"];
1580 sha256 = "0byyxrazkfm29ypcx5q4syrv126nvjnf7z6bqi01sqkv4llsi4qz";
1581 type = "gem";
1582 };
1583 version = "1.8.5";
1584 };
1585 nokogumbo = {
1586 dependencies = ["nokogiri"];
1587 groups = ["default"];
1588 platforms = [];
1589 source = {
1590 remotes = ["https://rubygems.org"];
1591 sha256 = "1qr7r2ysbp8b5q78yr8l5qpaxfqdw1i2yz6nsrbavdki8mqjgj24";
1592 type = "gem";
1593 };
1594 version = "2.0.0";
1595 };
1596 nsa = {
1597 dependencies = ["activesupport" "concurrent-ruby" "sidekiq" "statsd-ruby"];
1598 groups = ["default"];
1599 platforms = [];
1600 source = {
1601 remotes = ["https://rubygems.org"];
1602 sha256 = "1xki3jd107lc189mwwyxf19wz17dlaysrqy2jcbgyk7cdvbmhgf0";
1603 type = "gem";
1604 };
1605 version = "0.2.4";
1606 };
1607 oj = {
1608 groups = ["default"];
1609 platforms = [];
1610 source = {
1611 remotes = ["https://rubygems.org"];
1612 sha256 = "01pb6k8sfcj3i04gnwg33ld8682axzpn2kh26d7nsf44jx9k6bdd";
1613 type = "gem";
1614 };
1615 version = "3.7.0";
1616 };
1617 omniauth = {
1618 dependencies = ["hashie" "rack"];
1619 groups = ["default"];
1620 platforms = [];
1621 source = {
1622 remotes = ["https://rubygems.org"];
1623 sha256 = "1msqr4qq7mfdvl3rg89529isrv595hvjpj2gi0say4b8nwqfggmg";
1624 type = "gem";
1625 };
1626 version = "1.8.1";
1627 };
1628 omniauth-cas = {
1629 dependencies = ["addressable" "nokogiri" "omniauth"];
1630 groups = ["default"];
1631 platforms = [];
1632 source = {
1633 remotes = ["https://rubygems.org"];
1634 sha256 = "1nnk7cr45aj7hj19zpky58yysvjg8mn5f45sj9knpn5f9kgld7p4";
1635 type = "gem";
1636 };
1637 version = "1.1.1";
1638 };
1639 omniauth-saml = {
1640 dependencies = ["omniauth" "ruby-saml"];
1641 groups = ["default"];
1642 platforms = [];
1643 source = {
1644 remotes = ["https://rubygems.org"];
1645 sha256 = "1pg3pw4yjd9w1rn3lkycllrvd767pydbhldgdcqbbcck01asfcfz";
1646 type = "gem";
1647 };
1648 version = "1.10.1";
1649 };
1650 orm_adapter = {
1651 groups = ["default" "pam_authentication"];
1652 platforms = [];
1653 source = {
1654 remotes = ["https://rubygems.org"];
1655 sha256 = "1fg9jpjlzf5y49qs9mlpdrgs5rpcyihq1s4k79nv9js0spjhnpda";
1656 type = "gem";
1657 };
1658 version = "0.5.0";
1659 };
1660 ostatus2 = {
1661 dependencies = ["addressable" "http" "nokogiri"];
1662 groups = ["default"];
1663 platforms = [];
1664 source = {
1665 remotes = ["https://rubygems.org"];
1666 sha256 = "0fj27nr38g5y52s755pmg5zifwc6n88bw2zmkc22kg4vrhs64k19";
1667 type = "gem";
1668 };
1669 version = "2.0.3";
1670 };
1671 ox = {
1672 groups = ["default"];
1673 platforms = [];
1674 source = {
1675 remotes = ["https://rubygems.org"];
1676 sha256 = "15vkq18fp58504ld9vfakisxdmp68pk5y1bmmm5g7b0q25p8z5pq";
1677 type = "gem";
1678 };
1679 version = "2.10.0";
1680 };
1681 paperclip = {
1682 dependencies = ["activemodel" "activesupport" "mime-types" "mimemagic" "terrapin"];
1683 groups = ["default"];
1684 platforms = [];
1685 source = {
1686 remotes = ["https://rubygems.org"];
1687 sha256 = "04mlw7aqj20ry0fy92gxnxg99hy5xczff7rhywfzz4mqlhc2wgg7";
1688 type = "gem";
1689 };
1690 version = "6.0.0";
1691 };
1692 paperclip-av-transcoder = {
1693 dependencies = ["av" "paperclip"];
1694 groups = ["default"];
1695 platforms = [];
1696 source = {
1697 remotes = ["https://rubygems.org"];
1698 sha256 = "1gcnp3fpdb5lqilcij4yqga6397nb7zyyf9lzxnqpbp7cvc18lhf";
1699 type = "gem";
1700 };
1701 version = "0.6.4";
1702 };
1703 parallel = {
1704 groups = ["default" "development" "test"];
1705 platforms = [];
1706 source = {
1707 remotes = ["https://rubygems.org"];
1708 sha256 = "01hj8v1qnyl5ndrs33g8ld8ibk0rbcqdpkpznr04gkbxd11pqn67";
1709 type = "gem";
1710 };
1711 version = "1.12.1";
1712 };
1713 parallel_tests = {
1714 dependencies = ["parallel"];
1715 groups = ["test"];
1716 platforms = [];
1717 source = {
1718 remotes = ["https://rubygems.org"];
1719 sha256 = "1rlbahdvrng1wbzhqxg0n2q92a25y2mvarmjn2qcrj9mdmlq51kr";
1720 type = "gem";
1721 };
1722 version = "2.26.0";
1723 };
1724 parser = {
1725 dependencies = ["ast"];
1726 groups = ["default" "development" "test"];
1727 platforms = [];
1728 source = {
1729 remotes = ["https://rubygems.org"];
1730 sha256 = "1zjk0w1kjj3xk8ymy1430aa4gg0k8ckphfj88br6il4pm83f0n1f";
1731 type = "gem";
1732 };
1733 version = "2.5.3.0";
1734 };
1735 pastel = {
1736 dependencies = ["equatable" "tty-color"];
1737 groups = ["default"];
1738 platforms = [];
1739 source = {
1740 remotes = ["https://rubygems.org"];
1741 sha256 = "1yf30d9kzpm96gw9kwbv31p0qigwfykn8qdis5950plnzgc1vlp1";
1742 type = "gem";
1743 };
1744 version = "0.7.2";
1745 };
1746 pg = {
1747 groups = ["default"];
1748 platforms = [];
1749 source = {
1750 remotes = ["https://rubygems.org"];
1751 sha256 = "1pnjw3rspdfjssxyf42jnbsdlgri8ylysimp0s28wxb93k6ff2qb";
1752 type = "gem";
1753 };
1754 version = "1.1.3";
1755 };
1756 pghero = {
1757 dependencies = ["activerecord"];
1758 groups = ["default"];
1759 platforms = [];
1760 source = {
1761 remotes = ["https://rubygems.org"];
1762 sha256 = "0nvg9jwynnw3brignq6raka0abrcjmm8mr8yxhvybjpmr6lyyjrd";
1763 type = "gem";
1764 };
1765 version = "2.2.0";
1766 };
1767 pkg-config = {
1768 groups = ["default"];
1769 platforms = [];
1770 source = {
1771 remotes = ["https://rubygems.org"];
1772 sha256 = "0yrxwki3nzyss1fnjrhkahya0w9wgb7jg6ji995z7y4ph81zwflm";
1773 type = "gem";
1774 };
1775 version = "1.3.1";
1776 };
1777 posix-spawn = {
1778 groups = ["default"];
1779 platforms = [];
1780 source = {
1781 fetchSubmodules = false;
1782 rev = "58465d2e213991f8afb13b984854a49fcdcc980c";
1783 sha256 = "1mq284bps0y4yfwkhvj2j27g6lpzfhzw1bypim1a0n1js7j54vhk";
1784 type = "git";
1785 url = "https://github.com/rtomayko/posix-spawn";
1786 };
1787 version = "0.3.13";
1788 };
1789 powerpack = {
1790 groups = ["default" "development"];
1791 platforms = [];
1792 source = {
1793 remotes = ["https://rubygems.org"];
1794 sha256 = "1r51d67wd467rpdfl6x43y84vwm8f5ql9l9m85ak1s2sp3nc5hyv";
1795 type = "gem";
1796 };
1797 version = "0.1.2";
1798 };
1799 premailer = {
1800 dependencies = ["addressable" "css_parser" "htmlentities"];
1801 groups = ["default"];
1802 platforms = [];
1803 source = {
1804 remotes = ["https://rubygems.org"];
1805 sha256 = "1xrhmialxn5vlp1nmf40a4db9gji4h2wbzd7f43sz64z8lvrjj6h";
1806 type = "gem";
1807 };
1808 version = "1.11.1";
1809 };
1810 premailer-rails = {
1811 dependencies = ["actionmailer" "premailer"];
1812 groups = ["default"];
1813 platforms = [];
1814 source = {
1815 remotes = ["https://rubygems.org"];
1816 sha256 = "1avh2bkhabicf1zxla8z6ig5192h3vdzli4d2y9wmxfwgh549lmx";
1817 type = "gem";
1818 };
1819 version = "1.10.2";
1820 };
1821 private_address_check = {
1822 groups = ["production" "test"];
1823 platforms = [];
1824 source = {
1825 remotes = ["https://rubygems.org"];
1826 sha256 = "05phz0vscfh9chv90yc9091pifw3cpwkh76flnhrmvja1q3na4cy";
1827 type = "gem";
1828 };
1829 version = "0.5.0";
1830 };
1831 pry = {
1832 dependencies = ["coderay" "method_source"];
1833 groups = ["default" "development" "test"];
1834 platforms = [];
1835 source = {
1836 remotes = ["https://rubygems.org"];
1837 sha256 = "1mh312k3y94sj0pi160wpia0ps8f4kmzvm505i6bvwynfdh7v30g";
1838 type = "gem";
1839 };
1840 version = "0.11.3";
1841 };
1842 pry-byebug = {
1843 dependencies = ["byebug" "pry"];
1844 groups = ["development" "test"];
1845 platforms = [];
1846 source = {
1847 remotes = ["https://rubygems.org"];
1848 sha256 = "0y2758593i2ij0nhmv0j1pbdfx2cgi52ns6wkij0frgnk2lf650g";
1849 type = "gem";
1850 };
1851 version = "3.6.0";
1852 };
1853 pry-rails = {
1854 dependencies = ["pry"];
1855 groups = ["development" "test"];
1856 platforms = [];
1857 source = {
1858 remotes = ["https://rubygems.org"];
1859 sha256 = "0k2d43bwmqbswfra4fkadjjbszwb11pr7qdkma91qrcrk62wqxvy";
1860 type = "gem";
1861 };
1862 version = "0.3.6";
1863 };
1864 public_suffix = {
1865 groups = ["default" "development" "test"];
1866 platforms = [];
1867 source = {
1868 remotes = ["https://rubygems.org"];
1869 sha256 = "08q64b5br692dd3v0a9wq9q5dvycc6kmiqmjbdxkxbfizggsvx6l";
1870 type = "gem";
1871 };
1872 version = "3.0.3";
1873 };
1874 puma = {
1875 groups = ["default"];
1876 platforms = [];
1877 source = {
1878 remotes = ["https://rubygems.org"];
1879 sha256 = "1k7dqxnq0dnf5rxkgs9rknclkn3ah7lsdrk6nrqxla8qzy31wliq";
1880 type = "gem";
1881 };
1882 version = "3.12.0";
1883 };
1884 pundit = {
1885 dependencies = ["activesupport"];
1886 groups = ["default"];
1887 platforms = [];
1888 source = {
1889 remotes = ["https://rubygems.org"];
1890 sha256 = "0s59ilsqnr3vbai66mp7jj097m6i7ivpnjpbw665s50f5z834vls";
1891 type = "gem";
1892 };
1893 version = "2.0.0";
1894 };
1895 raabro = {
1896 groups = ["default"];
1897 platforms = [];
1898 source = {
1899 remotes = ["https://rubygems.org"];
1900 sha256 = "0xzdmbn48753f6k0ckirp8ja5p0xn1a92wbwxfyggyhj0hza9ylq";
1901 type = "gem";
1902 };
1903 version = "1.1.6";
1904 };
1905 rack = {
1906 groups = ["default" "development" "pam_authentication" "production" "test"];
1907 platforms = [];
1908 source = {
1909 remotes = ["https://rubygems.org"];
1910 sha256 = "158hbn7rlc3czp2vivvam44dv6vmzz16qrh5dbzhfxbfsgiyrqw1";
1911 type = "gem";
1912 };
1913 version = "2.0.5";
1914 };
1915 rack-attack = {
1916 dependencies = ["rack"];
1917 groups = ["default"];
1918 platforms = [];
1919 source = {
1920 remotes = ["https://rubygems.org"];
1921 sha256 = "08787kd5cnm9mbvpbj73xai21fn87wyrlzfp8l753lb9qqjhdn4p";
1922 type = "gem";
1923 };
1924 version = "5.4.1";
1925 };
1926 rack-cors = {
1927 groups = ["default"];
1928 platforms = [];
1929 source = {
1930 remotes = ["https://rubygems.org"];
1931 sha256 = "1j27vy1bmhbqcyzhxg8d07qassmax769xjalfwcwz6qfiq8cf013";
1932 type = "gem";
1933 };
1934 version = "1.0.2";
1935 };
1936 rack-protection = {
1937 dependencies = ["rack"];
1938 groups = ["default" "test"];
1939 platforms = [];
1940 source = {
1941 remotes = ["https://rubygems.org"];
1942 sha256 = "0ylx74ravz7nvnyygq0nk3v86qdzrmqxpwpayhppyy50l72rcajq";
1943 type = "gem";
1944 };
1945 version = "2.0.4";
1946 };
1947 rack-proxy = {
1948 dependencies = ["rack"];
1949 groups = ["default"];
1950 platforms = [];
1951 source = {
1952 remotes = ["https://rubygems.org"];
1953 sha256 = "1igdsim4ifyx9rfcjbxcwmf2vnxca3f8wmr2sj9j118a21g455pp";
1954 type = "gem";
1955 };
1956 version = "0.6.4";
1957 };
1958 rack-test = {
1959 dependencies = ["rack"];
1960 groups = ["default" "development" "pam_authentication" "production" "test"];
1961 platforms = [];
1962 source = {
1963 remotes = ["https://rubygems.org"];
1964 sha256 = "0rh8h376mx71ci5yklnpqqn118z3bl67nnv5k801qaqn1zs62h8m";
1965 type = "gem";
1966 };
1967 version = "1.1.0";
1968 };
1969 rails = {
1970 dependencies = ["actioncable" "actionmailer" "actionpack" "actionview" "activejob" "activemodel" "activerecord" "activestorage" "activesupport" "railties" "sprockets-rails"];
1971 groups = ["default"];
1972 platforms = [];
1973 source = {
1974 remotes = ["https://rubygems.org"];
1975 sha256 = "1307cv1p6cj350hq2mi00dfgjb77rzvlhrr3h0bjz5s0a6jgwv3p";
1976 type = "gem";
1977 };
1978 version = "5.2.1";
1979 };
1980 rails-controller-testing = {
1981 dependencies = ["actionpack" "actionview" "activesupport"];
1982 groups = ["test"];
1983 platforms = [];
1984 source = {
1985 remotes = ["https://rubygems.org"];
1986 sha256 = "16kdkk73mhhs73iz3i1i0ryjm84dadiyh817b3nh8acdi490jyhy";
1987 type = "gem";
1988 };
1989 version = "1.0.2";
1990 };
1991 rails-dom-testing = {
1992 dependencies = ["activesupport" "nokogiri"];
1993 groups = ["default" "development" "pam_authentication" "production" "test"];
1994 platforms = [];
1995 source = {
1996 remotes = ["https://rubygems.org"];
1997 sha256 = "1lfq2a7kp2x64dzzi5p4cjcbiv62vxh9lyqk2f0rqq3fkzrw8h5i";
1998 type = "gem";
1999 };
2000 version = "2.0.3";
2001 };
2002 rails-html-sanitizer = {
2003 dependencies = ["loofah"];
2004 groups = ["default" "development" "pam_authentication" "production" "test"];
2005 platforms = [];
2006 source = {
2007 remotes = ["https://rubygems.org"];
2008 sha256 = "1gv7vr5d9g2xmgpjfq4nxsqr70r9pr042r9ycqqnfvw5cz9c7jwr";
2009 type = "gem";
2010 };
2011 version = "1.0.4";
2012 };
2013 rails-i18n = {
2014 dependencies = ["i18n" "railties"];
2015 groups = ["default" "development" "test"];
2016 platforms = [];
2017 source = {
2018 remotes = ["https://rubygems.org"];
2019 sha256 = "05lkhc737a9dw0hd5ljmja0yp4cw39r3200s1r0n4bs7z1g3ka7l";
2020 type = "gem";
2021 };
2022 version = "5.1.2";
2023 };
2024 rails-settings-cached = {
2025 dependencies = ["rails"];
2026 groups = ["default"];
2027 platforms = [];
2028 source = {
2029 remotes = ["https://rubygems.org"];
2030 sha256 = "0wyhyls0aqb1iw7mnaldg39w3mnbi3anmpbvb52rjwkpj2mchhnc";
2031 type = "gem";
2032 };
2033 version = "0.6.6";
2034 };
2035 railties = {
2036 dependencies = ["actionpack" "activesupport" "method_source" "rake" "thor"];
2037 groups = ["default" "development" "pam_authentication" "production" "test"];
2038 platforms = [];
2039 source = {
2040 remotes = ["https://rubygems.org"];
2041 sha256 = "19y343dvb7vih82q2ssyhp1cirmp5sp1vpw4k5zmd1bxxkjix9qv";
2042 type = "gem";
2043 };
2044 version = "5.2.1";
2045 };
2046 rainbow = {
2047 groups = ["default" "development" "test"];
2048 platforms = [];
2049 source = {
2050 remotes = ["https://rubygems.org"];
2051 sha256 = "0bb2fpjspydr6x0s8pn1pqkzmxszvkfapv0p4627mywl7ky4zkhk";
2052 type = "gem";
2053 };
2054 version = "3.0.0";
2055 };
2056 rake = {
2057 groups = ["default" "development" "pam_authentication" "production" "test"];
2058 platforms = [];
2059 source = {
2060 remotes = ["https://rubygems.org"];
2061 sha256 = "1idi53jay34ba9j68c3mfr9wwkg3cd9qh0fn9cg42hv72c6q8dyg";
2062 type = "gem";
2063 };
2064 version = "12.3.1";
2065 };
2066 rb-fsevent = {
2067 groups = ["default" "development"];
2068 platforms = [];
2069 source = {
2070 remotes = ["https://rubygems.org"];
2071 sha256 = "1lm1k7wpz69jx7jrc92w3ggczkjyjbfziq5mg62vjnxmzs383xx8";
2072 type = "gem";
2073 };
2074 version = "0.10.3";
2075 };
2076 rb-inotify = {
2077 dependencies = ["ffi"];
2078 groups = ["default" "development"];
2079 platforms = [];
2080 source = {
2081 remotes = ["https://rubygems.org"];
2082 sha256 = "0yfsgw5n7pkpyky6a9wkf1g9jafxb0ja7gz0qw0y14fd2jnzfh71";
2083 type = "gem";
2084 };
2085 version = "0.9.10";
2086 };
2087 rdf = {
2088 dependencies = ["hamster" "link_header"];
2089 groups = ["default"];
2090 platforms = [];
2091 source = {
2092 remotes = ["https://rubygems.org"];
2093 sha256 = "0fjla68kfhxhq0hip1jjxcp2lpa2h8c6yzjmm4jizrj1amv2cidp";
2094 type = "gem";
2095 };
2096 version = "3.0.2";
2097 };
2098 rdf-normalize = {
2099 dependencies = ["rdf"];
2100 groups = ["default"];
2101 platforms = [];
2102 source = {
2103 remotes = ["https://rubygems.org"];
2104 sha256 = "0h8qk3x5frqbgb4gj9ga75ddls47x8qhghscgz82gfq76m4r45g0";
2105 type = "gem";
2106 };
2107 version = "0.3.3";
2108 };
2109 redis = {
2110 groups = ["default" "production" "test"];
2111 platforms = [];
2112 source = {
2113 remotes = ["https://rubygems.org"];
2114 sha256 = "0c2106d7rx12j1d7lnwqgd2v85xwc5raf9q0xv01qmnq2x167yxk";
2115 type = "gem";
2116 };
2117 version = "4.0.2";
2118 };
2119 redis-actionpack = {
2120 dependencies = ["actionpack" "redis-rack" "redis-store"];
2121 groups = ["default" "production"];
2122 platforms = [];
2123 source = {
2124 remotes = ["https://rubygems.org"];
2125 sha256 = "15k41gz7nygd4yydk2yd25gghya1j7q6zifk4mdrra6bwnwjbm63";
2126 type = "gem";
2127 };
2128 version = "5.0.2";
2129 };
2130 redis-activesupport = {
2131 dependencies = ["activesupport" "redis-store"];
2132 groups = ["default" "production"];
2133 platforms = [];
2134 source = {
2135 remotes = ["https://rubygems.org"];
2136 sha256 = "0rq5dhrzc1l8c7f5gx9r7mvnsk5206dfwih3yv5si5rf42nx2ay5";
2137 type = "gem";
2138 };
2139 version = "5.0.4";
2140 };
2141 redis-namespace = {
2142 dependencies = ["redis"];
2143 groups = ["default"];
2144 platforms = [];
2145 source = {
2146 remotes = ["https://rubygems.org"];
2147 sha256 = "0r7daagrjjribn098dxwbv9zivrbq2rsffbkj2ccxyn9lmjjbgah";
2148 type = "gem";
2149 };
2150 version = "1.6.0";
2151 };
2152 redis-rack = {
2153 dependencies = ["rack" "redis-store"];
2154 groups = ["default" "production"];
2155 platforms = [];
2156 source = {
2157 remotes = ["https://rubygems.org"];
2158 sha256 = "0px0wv8zripc6lrn3k0k61j6nlxda145q8sz50yvnig17wlk36gb";
2159 type = "gem";
2160 };
2161 version = "2.0.4";
2162 };
2163 redis-rails = {
2164 dependencies = ["redis-actionpack" "redis-activesupport" "redis-store"];
2165 groups = ["production"];
2166 platforms = [];
2167 source = {
2168 remotes = ["https://rubygems.org"];
2169 sha256 = "0hjvkyaw5hgz7v6fgwdk8pb966z44h1gv8jarmb0gwhkqmjnsh40";
2170 type = "gem";
2171 };
2172 version = "5.0.2";
2173 };
2174 redis-store = {
2175 dependencies = ["redis"];
2176 groups = ["default" "production"];
2177 platforms = [];
2178 source = {
2179 remotes = ["https://rubygems.org"];
2180 sha256 = "0cpg4fmqcyl8mm77l852xsidp8384a7s1mgbpki999swvq97svi4";
2181 type = "gem";
2182 };
2183 version = "1.5.0";
2184 };
2185 regexp_parser = {
2186 groups = ["default" "test"];
2187 platforms = [];
2188 source = {
2189 remotes = ["https://rubygems.org"];
2190 sha256 = "12q3m74kmdc1mdc1nfphxj1089j425cjw9fr3h9z8x1987mgzpw3";
2191 type = "gem";
2192 };
2193 version = "1.2.0";
2194 };
2195 request_store = {
2196 dependencies = ["rack"];
2197 groups = ["default" "production"];
2198 platforms = [];
2199 source = {
2200 remotes = ["https://rubygems.org"];
2201 sha256 = "1963330z03fk382fi8y231ygcbnh86m91dqlp5rh1mwy9ihzzl6d";
2202 type = "gem";
2203 };
2204 version = "1.4.1";
2205 };
2206 responders = {
2207 dependencies = ["actionpack" "railties"];
2208 groups = ["default" "pam_authentication"];
2209 platforms = [];
2210 source = {
2211 remotes = ["https://rubygems.org"];
2212 sha256 = "1rhdyyvvm26f2l3fgwdp6xasfl2y0whwgy766bhdwz697mf78zfn";
2213 type = "gem";
2214 };
2215 version = "2.4.0";
2216 };
2217 rotp = {
2218 groups = ["default"];
2219 platforms = [];
2220 source = {
2221 remotes = ["https://rubygems.org"];
2222 sha256 = "1w8d6svhq3y9y952r8cqirxvdx12zlkb7zxjb44bcbidb2sisy4d";
2223 type = "gem";
2224 };
2225 version = "2.1.2";
2226 };
2227 rpam2 = {
2228 groups = ["default" "pam_authentication"];
2229 platforms = [];
2230 source = {
2231 remotes = ["https://rubygems.org"];
2232 sha256 = "1zvli3s4z1hf2l7gyfickm5i3afjrnycc3ihbiax6ji6arpbyf33";
2233 type = "gem";
2234 };
2235 version = "4.0.2";
2236 };
2237 rqrcode = {
2238 dependencies = ["chunky_png"];
2239 groups = ["default"];
2240 platforms = [];
2241 source = {
2242 remotes = ["https://rubygems.org"];
2243 sha256 = "0h1pnnydgs032psakvg3l779w3ghbn08ajhhhw19hpmnfhrs8k0a";
2244 type = "gem";
2245 };
2246 version = "0.10.1";
2247 };
2248 rspec-core = {
2249 dependencies = ["rspec-support"];
2250 groups = ["default" "development" "test"];
2251 platforms = [];
2252 source = {
2253 remotes = ["https://rubygems.org"];
2254 sha256 = "1p1s5bnbqp3sxk67y0fh0x884jjym527r0vgmhbm81w7aq6b7l4p";
2255 type = "gem";
2256 };
2257 version = "3.8.0";
2258 };
2259 rspec-expectations = {
2260 dependencies = ["diff-lcs" "rspec-support"];
2261 groups = ["default" "development" "test"];
2262 platforms = [];
2263 source = {
2264 remotes = ["https://rubygems.org"];
2265 sha256 = "18l21hy1zdc2pgc2yb17k3n2al1khpfr0z6pijlm852iz6vj0dkm";
2266 type = "gem";
2267 };
2268 version = "3.8.2";
2269 };
2270 rspec-mocks = {
2271 dependencies = ["diff-lcs" "rspec-support"];
2272 groups = ["default" "development" "test"];
2273 platforms = [];
2274 source = {
2275 remotes = ["https://rubygems.org"];
2276 sha256 = "06y508cjqycb4yfhxmb3nxn0v9xqf17qbd46l1dh4xhncinr4fyp";
2277 type = "gem";
2278 };
2279 version = "3.8.0";
2280 };
2281 rspec-rails = {
2282 dependencies = ["actionpack" "activesupport" "railties" "rspec-core" "rspec-expectations" "rspec-mocks" "rspec-support"];
2283 groups = ["development" "test"];
2284 platforms = [];
2285 source = {
2286 remotes = ["https://rubygems.org"];
2287 sha256 = "0sqj5da2kc937j5jb18jcf0hrmmzwgj7pk62j0q3qndhc2kvx88p";
2288 type = "gem";
2289 };
2290 version = "3.8.1";
2291 };
2292 rspec-sidekiq = {
2293 dependencies = ["rspec-core" "sidekiq"];
2294 groups = ["test"];
2295 platforms = [];
2296 source = {
2297 remotes = ["https://rubygems.org"];
2298 sha256 = "0y7pbqrbc8rjszc45vg4vz9qbn8aymgcc4ribrhvm76wrfz3ksfq";
2299 type = "gem";
2300 };
2301 version = "3.0.3";
2302 };
2303 rspec-support = {
2304 groups = ["default" "development" "test"];
2305 platforms = [];
2306 source = {
2307 remotes = ["https://rubygems.org"];
2308 sha256 = "0p3m7drixrlhvj2zpc38b11x145bvm311x6f33jjcxmvcm0wq609";
2309 type = "gem";
2310 };
2311 version = "3.8.0";
2312 };
2313 rubocop = {
2314 dependencies = ["jaro_winkler" "parallel" "parser" "powerpack" "rainbow" "ruby-progressbar" "unicode-display_width"];
2315 groups = ["development"];
2316 platforms = [];
2317 source = {
2318 remotes = ["https://rubygems.org"];
2319 sha256 = "1ivk049z3mp12nc6v1wn35bsq1g7nz1i2r4xwzqf0v25hm2v7n1i";
2320 type = "gem";
2321 };
2322 version = "0.60.0";
2323 };
2324 ruby-progressbar = {
2325 groups = ["default" "development" "test"];
2326 platforms = [];
2327 source = {
2328 remotes = ["https://rubygems.org"];
2329 sha256 = "1cv2ym3rl09svw8940ny67bav7b2db4ms39i4raaqzkf59jmhglk";
2330 type = "gem";
2331 };
2332 version = "1.10.0";
2333 };
2334 ruby-saml = {
2335 dependencies = ["nokogiri"];
2336 groups = ["default"];
2337 platforms = [];
2338 source = {
2339 remotes = ["https://rubygems.org"];
2340 sha256 = "12f3mmyds4y8f7535p79xzx0wnp7rj02h1fp2x3j2hy5vrkmz2k4";
2341 type = "gem";
2342 };
2343 version = "1.9.0";
2344 };
2345 rufus-scheduler = {
2346 dependencies = ["fugit"];
2347 groups = ["default"];
2348 platforms = [];
2349 source = {
2350 remotes = ["https://rubygems.org"];
2351 sha256 = "074w41a88343cbv8ydkpl3firhvh3kbh8ppldhdmpvv2g569m32i";
2352 type = "gem";
2353 };
2354 version = "3.5.2";
2355 };
2356 safe_yaml = {
2357 groups = ["default" "test"];
2358 platforms = [];
2359 source = {
2360 remotes = ["https://rubygems.org"];
2361 sha256 = "1hly915584hyi9q9vgd968x2nsi5yag9jyf5kq60lwzi5scr7094";
2362 type = "gem";
2363 };
2364 version = "1.0.4";
2365 };
2366 sanitize = {
2367 dependencies = ["crass" "nokogiri" "nokogumbo"];
2368 groups = ["default"];
2369 platforms = [];
2370 source = {
2371 remotes = ["https://rubygems.org"];
2372 sha256 = "0rsb2gvqdh41miq7xjckidmgnjh3slvfqbp1hh4s6xfhc32r8g3s";
2373 type = "gem";
2374 };
2375 version = "5.0.0";
2376 };
2377 sass = {
2378 dependencies = ["sass-listen"];
2379 groups = ["default" "development"];
2380 platforms = [];
2381 source = {
2382 remotes = ["https://rubygems.org"];
2383 sha256 = "18c6prbw9wl8bqhb2435pd9s0lzarl3g7xf8pmyla28zblvwxmyh";
2384 type = "gem";
2385 };
2386 version = "3.6.0";
2387 };
2388 sass-listen = {
2389 dependencies = ["rb-fsevent" "rb-inotify"];
2390 groups = ["default" "development"];
2391 platforms = [];
2392 source = {
2393 remotes = ["https://rubygems.org"];
2394 sha256 = "0xw3q46cmahkgyldid5hwyiwacp590zj2vmswlll68ryvmvcp7df";
2395 type = "gem";
2396 };
2397 version = "4.0.0";
2398 };
2399 scss_lint = {
2400 dependencies = ["rake" "sass"];
2401 groups = ["development"];
2402 platforms = [];
2403 source = {
2404 remotes = ["https://rubygems.org"];
2405 sha256 = "0dv4ff1lqbgqdx99nwg059c983dhw67kvvjd21f6vf62cjx09lpn";
2406 type = "gem";
2407 };
2408 version = "0.57.1";
2409 };
2410 sidekiq = {
2411 dependencies = ["connection_pool" "rack-protection" "redis"];
2412 groups = ["default" "test"];
2413 platforms = [];
2414 source = {
2415 remotes = ["https://rubygems.org"];
2416 sha256 = "06jws6zlyxqdbpcyvdd61ylp9cxsg2h4bs2mmz3k2ah42p5xxkjp";
2417 type = "gem";
2418 };
2419 version = "5.2.2";
2420 };
2421 sidekiq-bulk = {
2422 dependencies = ["activesupport" "sidekiq"];
2423 groups = ["default"];
2424 platforms = [];
2425 source = {
2426 remotes = ["https://rubygems.org"];
2427 sha256 = "1yj2fwjygv93pr6ph5xyapgwq5vhspvg2hkv8mgf3d3ain082wbi";
2428 type = "gem";
2429 };
2430 version = "0.1.1";
2431 };
2432 sidekiq-scheduler = {
2433 dependencies = ["redis" "rufus-scheduler" "sidekiq" "tilt"];
2434 groups = ["default"];
2435 platforms = [];
2436 source = {
2437 remotes = ["https://rubygems.org"];
2438 sha256 = "1n38p1ig8rx4ndqxcsc2gyzbaaax6r16b1xkn9mgcwwfx8qd5dbw";
2439 type = "gem";
2440 };
2441 version = "3.0.0";
2442 };
2443 sidekiq-unique-jobs = {
2444 dependencies = ["sidekiq" "thor"];
2445 groups = ["default"];
2446 platforms = [];
2447 source = {
2448 remotes = ["https://rubygems.org"];
2449 sha256 = "001bmbqbibf7r3hbdkm2sjnmdw5dznnwk89f2s7wk0xhibsczkhw";
2450 type = "gem";
2451 };
2452 version = "5.0.10";
2453 };
2454 simple-navigation = {
2455 dependencies = ["activesupport"];
2456 groups = ["default"];
2457 platforms = [];
2458 source = {
2459 remotes = ["https://rubygems.org"];
2460 sha256 = "08a2s18an3br3xj5j86r33q0hrkai0y157xg67h1khdskb08yylk";
2461 type = "gem";
2462 };
2463 version = "4.0.5";
2464 };
2465 simple_form = {
2466 dependencies = ["actionpack" "activemodel"];
2467 groups = ["default"];
2468 platforms = [];
2469 source = {
2470 remotes = ["https://rubygems.org"];
2471 sha256 = "197wzz7yy4ls4ivrvnysa28hvrrwyrq9dny9jpq6d15y2v31chqh";
2472 type = "gem";
2473 };
2474 version = "4.0.1";
2475 };
2476 simplecov = {
2477 dependencies = ["docile" "json" "simplecov-html"];
2478 groups = ["test"];
2479 platforms = [];
2480 source = {
2481 remotes = ["https://rubygems.org"];
2482 sha256 = "1sfyfgf7zrp2n42v7rswkqgk3bbwk1bnsphm24y7laxv3f8z0947";
2483 type = "gem";
2484 };
2485 version = "0.16.1";
2486 };
2487 simplecov-html = {
2488 groups = ["default" "test"];
2489 platforms = [];
2490 source = {
2491 remotes = ["https://rubygems.org"];
2492 sha256 = "1lihraa4rgxk8wbfl77fy9sf0ypk31iivly8vl3w04srd7i0clzn";
2493 type = "gem";
2494 };
2495 version = "0.10.2";
2496 };
2497 sprockets = {
2498 dependencies = ["concurrent-ruby" "rack"];
2499 groups = ["default"];
2500 platforms = [];
2501 source = {
2502 remotes = ["https://rubygems.org"];
2503 sha256 = "182jw5a0fbqah5w9jancvfmjbk88h8bxdbwnl4d3q809rpxdg8ay";
2504 type = "gem";
2505 };
2506 version = "3.7.2";
2507 };
2508 sprockets-rails = {
2509 dependencies = ["actionpack" "activesupport" "sprockets"];
2510 groups = ["default"];
2511 platforms = [];
2512 source = {
2513 remotes = ["https://rubygems.org"];
2514 sha256 = "0ab42pm8p5zxpv3sfraq45b9lj39cz9mrpdirm30vywzrwwkm5p1";
2515 type = "gem";
2516 };
2517 version = "3.2.1";
2518 };
2519 sshkit = {
2520 dependencies = ["net-scp" "net-ssh"];
2521 groups = ["default" "development"];
2522 platforms = [];
2523 source = {
2524 remotes = ["https://rubygems.org"];
2525 sha256 = "1982pcckxy811gm6z9h8brkds13mrgrx8sgmdz8dq5rg1h91y0yw";
2526 type = "gem";
2527 };
2528 version = "1.17.0";
2529 };
2530 stackprof = {
2531 groups = ["development"];
2532 platforms = [];
2533 source = {
2534 remotes = ["https://rubygems.org"];
2535 sha256 = "1v7mkl4ng2is5h0glivhcjjkkj2shq1qzx9sg9shw9nn8xvg7i4w";
2536 type = "gem";
2537 };
2538 version = "0.2.12";
2539 };
2540 statsd-ruby = {
2541 groups = ["default"];
2542 platforms = [];
2543 source = {
2544 remotes = ["https://rubygems.org"];
2545 sha256 = "1qh9w1vydx96v5y04y0k2g56k9yrsgrmbxh1d7haq07wbli0a6yz";
2546 type = "gem";
2547 };
2548 version = "1.2.1";
2549 };
2550 stoplight = {
2551 groups = ["default"];
2552 platforms = [];
2553 source = {
2554 remotes = ["https://rubygems.org"];
2555 sha256 = "1c55ar2chyivz8n6xkhyq36hgpb0b7cfqfjrcyyv9sjiyrbqyhic";
2556 type = "gem";
2557 };
2558 version = "2.1.3";
2559 };
2560 streamio-ffmpeg = {
2561 dependencies = ["multi_json"];
2562 groups = ["default"];
2563 platforms = [];
2564 source = {
2565 remotes = ["https://rubygems.org"];
2566 sha256 = "1nnxizc0371vwh0k6gqjj1b7fjszydpqfz549n6qn2q1pza3894z";
2567 type = "gem";
2568 };
2569 version = "3.0.2";
2570 };
2571 strong_migrations = {
2572 dependencies = ["activerecord"];
2573 groups = ["default"];
2574 platforms = [];
2575 source = {
2576 remotes = ["https://rubygems.org"];
2577 sha256 = "0scrffkhjx14rrk5cn01vg20y3vvhzzb47a7c9wa864aq8j8kw7z";
2578 type = "gem";
2579 };
2580 version = "0.3.1";
2581 };
2582 temple = {
2583 groups = ["default"];
2584 platforms = [];
2585 source = {
2586 remotes = ["https://rubygems.org"];
2587 sha256 = "00nxf610nzi4n1i2lkby43nrnarvl89fcl6lg19406msr0k3ycmq";
2588 type = "gem";
2589 };
2590 version = "0.8.0";
2591 };
2592 terminal-table = {
2593 dependencies = ["unicode-display_width"];
2594 groups = ["default" "development" "test"];
2595 platforms = [];
2596 source = {
2597 remotes = ["https://rubygems.org"];
2598 sha256 = "1512cngw35hsmhvw4c05rscihc59mnj09m249sm9p3pik831ydqk";
2599 type = "gem";
2600 };
2601 version = "1.8.0";
2602 };
2603 terrapin = {
2604 dependencies = ["climate_control"];
2605 groups = ["default"];
2606 platforms = [];
2607 source = {
2608 remotes = ["https://rubygems.org"];
2609 sha256 = "0p18f05r0c5s70571gqig3z2ym74wx79s6rd45sprp207bqskzn9";
2610 type = "gem";
2611 };
2612 version = "0.6.0";
2613 };
2614 thor = {
2615 groups = ["default" "development" "pam_authentication" "production" "test"];
2616 platforms = [];
2617 source = {
2618 remotes = ["https://rubygems.org"];
2619 sha256 = "0nmqpyj642sk4g16nkbq6pj856adpv91lp4krwhqkh2iw63aszdl";
2620 type = "gem";
2621 };
2622 version = "0.20.0";
2623 };
2624 thread_safe = {
2625 groups = ["default" "development" "pam_authentication" "production" "test"];
2626 platforms = [];
2627 source = {
2628 remotes = ["https://rubygems.org"];
2629 sha256 = "0nmhcgq6cgz44srylra07bmaw99f5271l0dpsvl5f75m44l0gmwy";
2630 type = "gem";
2631 };
2632 version = "0.3.6";
2633 };
2634 tilt = {
2635 groups = ["default"];
2636 platforms = [];
2637 source = {
2638 remotes = ["https://rubygems.org"];
2639 sha256 = "0020mrgdf11q23hm1ddd6fv691l51vi10af00f137ilcdb2ycfra";
2640 type = "gem";
2641 };
2642 version = "2.0.8";
2643 };
2644 timers = {
2645 dependencies = ["hitimes"];
2646 groups = ["default"];
2647 platforms = [];
2648 source = {
2649 remotes = ["https://rubygems.org"];
2650 sha256 = "0wax58yagbc7876az5731fs4hxwzr567y9r48v0agmnm162199x7";
2651 type = "gem";
2652 };
2653 version = "4.1.2";
2654 };
2655 tty-color = {
2656 groups = ["default"];
2657 platforms = [];
2658 source = {
2659 remotes = ["https://rubygems.org"];
2660 sha256 = "0zz5xa6xbrj69h334d8nx7z732fz80s1a0b02b53mim95p80s7bk";
2661 type = "gem";
2662 };
2663 version = "0.4.3";
2664 };
2665 tty-command = {
2666 dependencies = ["pastel"];
2667 groups = ["default"];
2668 platforms = [];
2669 source = {
2670 remotes = ["https://rubygems.org"];
2671 sha256 = "1d1fghdvnlc8m5i36h7gswn21232k2f9z5ls73fhs9p5ryfs4vz7";
2672 type = "gem";
2673 };
2674 version = "0.8.2";
2675 };
2676 tty-cursor = {
2677 groups = ["default"];
2678 platforms = [];
2679 source = {
2680 remotes = ["https://rubygems.org"];
2681 sha256 = "1f4rsapf4apaxn11xnqrq7axgrlvn6pdlqxqb2g34jnpfh5yrk1i";
2682 type = "gem";
2683 };
2684 version = "0.6.0";
2685 };
2686 tty-prompt = {
2687 dependencies = ["necromancer" "pastel" "timers" "tty-cursor" "tty-reader"];
2688 groups = ["default"];
2689 platforms = [];
2690 source = {
2691 remotes = ["https://rubygems.org"];
2692 sha256 = "0bnrpz52ga2pwrq5lbjyh4v8v8rhliw749vgzlahzxivvyg93k70";
2693 type = "gem";
2694 };
2695 version = "0.17.1";
2696 };
2697 tty-reader = {
2698 dependencies = ["tty-cursor" "tty-screen" "wisper"];
2699 groups = ["default"];
2700 platforms = [];
2701 source = {
2702 remotes = ["https://rubygems.org"];
2703 sha256 = "0cy5yyanfgyxxy0g6abiwz2jlbxwdjavk63yjl3gbdjr1j5jgy23";
2704 type = "gem";
2705 };
2706 version = "0.4.0";
2707 };
2708 tty-screen = {
2709 groups = ["default"];
2710 platforms = [];
2711 source = {
2712 remotes = ["https://rubygems.org"];
2713 sha256 = "0azpjgyhdm8ycblnx9crq3dgb2x8yg454a13n60zfpsc0n138sw1";
2714 type = "gem";
2715 };
2716 version = "0.6.5";
2717 };
2718 twitter-text = {
2719 dependencies = ["unf"];
2720 groups = ["default"];
2721 platforms = [];
2722 source = {
2723 remotes = ["https://rubygems.org"];
2724 sha256 = "1732h7hy1k152w8wfvjsx7b79alk45i5imwd37ia4qcx8hfm3gvg";
2725 type = "gem";
2726 };
2727 version = "1.14.7";
2728 };
2729 tzinfo = {
2730 dependencies = ["thread_safe"];
2731 groups = ["default" "development" "pam_authentication" "production" "test"];
2732 platforms = [];
2733 source = {
2734 remotes = ["https://rubygems.org"];
2735 sha256 = "1fjx9j327xpkkdlxwmkl3a8wqj7i4l4jwlrv3z13mg95z9wl253z";
2736 type = "gem";
2737 };
2738 version = "1.2.5";
2739 };
2740 tzinfo-data = {
2741 dependencies = ["tzinfo"];
2742 groups = ["default"];
2743 platforms = [];
2744 source = {
2745 remotes = ["https://rubygems.org"];
2746 sha256 = "12il6cwzprzrjqv2szxwr3a5zd68q4p37vxfkv0br0c61hi2p8j9";
2747 type = "gem";
2748 };
2749 version = "1.2018.7";
2750 };
2751 unf = {
2752 dependencies = ["unf_ext"];
2753 groups = ["default"];
2754 platforms = [];
2755 source = {
2756 remotes = ["https://rubygems.org"];
2757 sha256 = "0bh2cf73i2ffh4fcpdn9ir4mhq8zi50ik0zqa1braahzadx536a9";
2758 type = "gem";
2759 };
2760 version = "0.1.4";
2761 };
2762 unf_ext = {
2763 groups = ["default"];
2764 platforms = [];
2765 source = {
2766 remotes = ["https://rubygems.org"];
2767 sha256 = "06p1i6qhy34bpb8q8ms88y6f2kz86azwm098yvcc0nyqk9y729j1";
2768 type = "gem";
2769 };
2770 version = "0.0.7.5";
2771 };
2772 unicode-display_width = {
2773 groups = ["default" "development" "test"];
2774 platforms = [];
2775 source = {
2776 remotes = ["https://rubygems.org"];
2777 sha256 = "0040bsdpcmvp8w31lqi2s9s4p4h031zv52401qidmh25cgyh4a57";
2778 type = "gem";
2779 };
2780 version = "1.4.0";
2781 };
2782 uniform_notifier = {
2783 groups = ["default" "development"];
2784 platforms = [];
2785 source = {
2786 remotes = ["https://rubygems.org"];
2787 sha256 = "1yblj2rhlabxiqkqn7v3mrk8rnkmvsp3l3mp6c3hrb08rxidssga";
2788 type = "gem";
2789 };
2790 version = "1.11.0";
2791 };
2792 warden = {
2793 dependencies = ["rack"];
2794 groups = ["default" "pam_authentication"];
2795 platforms = [];
2796 source = {
2797 remotes = ["https://rubygems.org"];
2798 sha256 = "0va966lhpylcwbqb9n151kkihx30agh0a57mwjwdxyanll4s1q12";
2799 type = "gem";
2800 };
2801 version = "1.2.7";
2802 };
2803 webmock = {
2804 dependencies = ["addressable" "crack" "hashdiff"];
2805 groups = ["test"];
2806 platforms = [];
2807 source = {
2808 remotes = ["https://rubygems.org"];
2809 sha256 = "03994dxs4xayvkxqp01dd1ivhg4xxx7z35f7cxw7y2mwj3xn24ib";
2810 type = "gem";
2811 };
2812 version = "3.4.2";
2813 };
2814 webpacker = {
2815 dependencies = ["activesupport" "rack-proxy" "railties"];
2816 groups = ["default"];
2817 platforms = [];
2818 source = {
2819 remotes = ["https://rubygems.org"];
2820 sha256 = "0bw01ihvxpy05xzz3wq6p9d3lw7n4x10ivfrh70hlrjyixmapws6";
2821 type = "gem";
2822 };
2823 version = "3.5.5";
2824 };
2825 webpush = {
2826 dependencies = ["hkdf" "jwt"];
2827 groups = ["default"];
2828 platforms = [];
2829 source = {
2830 remotes = ["https://rubygems.org"];
2831 sha256 = "0qhamsbzixns0fss77c2bdrni1lk192kbm51r2q6m6gk2iqyk0xv";
2832 type = "gem";
2833 };
2834 version = "0.3.4";
2835 };
2836 websocket-driver = {
2837 dependencies = ["websocket-extensions"];
2838 groups = ["default"];
2839 platforms = [];
2840 source = {
2841 remotes = ["https://rubygems.org"];
2842 sha256 = "1551k3fs3kkb3ghqfj3n5lps0ikb9pyrdnzmvgfdxy8574n4g1dn";
2843 type = "gem";
2844 };
2845 version = "0.7.0";
2846 };
2847 websocket-extensions = {
2848 groups = ["default"];
2849 platforms = [];
2850 source = {
2851 remotes = ["https://rubygems.org"];
2852 sha256 = "034sdr7fd34yag5l6y156rkbhiqgmy395m231dwhlpcswhs6d270";
2853 type = "gem";
2854 };
2855 version = "0.1.3";
2856 };
2857 wisper = {
2858 groups = ["default"];
2859 platforms = [];
2860 source = {
2861 remotes = ["https://rubygems.org"];
2862 sha256 = "0ar2wn3pxnffyzcmf67y67b8lnhgn9zayqhqp26jwqa3d73j71kd";
2863 type = "gem";
2864 };
2865 version = "2.0.0";
2866 };
2867 xpath = {
2868 dependencies = ["nokogiri"];
2869 groups = ["default" "test"];
2870 platforms = [];
2871 source = {
2872 remotes = ["https://rubygems.org"];
2873 sha256 = "0bh8lk9hvlpn7vmi6h4hkcwjzvs2y0cmkk3yjjdr8fxvj6fsgzbd";
2874 type = "gem";
2875 };
2876 version = "3.2.0";
2877 };
2878}
diff --git a/virtual/modules/websites/tools/mastodon/mastodon.nix b/virtual/modules/websites/tools/mastodon/mastodon.nix
index 463de1c..c2c1807 100644
--- a/virtual/modules/websites/tools/mastodon/mastodon.nix
+++ b/virtual/modules/websites/tools/mastodon/mastodon.nix
@@ -1,25 +1,35 @@
1{ env, fetchedGithub, stdenv, writeText, pkgs, cacert }: 1{ env, ruby_2_5, bundlerEnv, defaultGemConfig, fetchedGithub, stdenv, writeText, pkgs, cacert }:
2let 2let
3 varDir = "/var/lib/mastodon_immae"; 3 varDir = "/var/lib/mastodon_immae";
4 socketsDir = "/run/mastodon"; 4 socketsDir = "/run/mastodon";
5 gems = bundlerEnv {
6 name = "mastodon-env";
7 ruby = ruby_2_5;
8 gemset = ./gemset.nix;
9 gemdir = (fetchedGithub ./mastodon.json).src;
10 groups = [ "default" "production" "test" "development" ];
11 gemConfig = defaultGemConfig // {
12 cld3 = attrs: {
13 buildInputs = with pkgs; [ protobuf protobufc pkgconfig ];
14 };
15 idn-ruby = attrs: {
16 buildInputs = with pkgs; [ libidn ];
17 };
18 rpam2 = attrs: {
19 buildInputs = with pkgs; [ pam ];
20 };
21 };
22 };
5 mastodon = stdenv.mkDerivation (fetchedGithub ./mastodon.json // rec { 23 mastodon = stdenv.mkDerivation (fetchedGithub ./mastodon.json // rec {
24 __noChroot = true;
6 buildPhase = '' 25 buildPhase = ''
7 export GIT_SSL_CAINFO=${cacert}/etc/ssl/certs/ca-bundle.crt
8 export SSL_CERT_FILE=${cacert}/etc/ssl/certs/ca-bundle.crt
9
10 bundle install --deployment --without development test
11 yarn install --pure-lockfile 26 yarn install --pure-lockfile
27 patchShebangs node_modules
12 ''; 28 '';
13 installPhase = '' 29 installPhase = ''
14 cp -a . $out 30 cp -a . $out
15 ''; 31 '';
16 propagatedBuildInputs = with pkgs; [ 32 propagatedBuildInputs = [ gems pkgs.yarn pkgs.python2 pkgs.nodejs ];
17 zlib icu libchardet git bundler yarn
18 protobuf protobufc libidn libpqxx nodejs
19 imagemagick ffmpeg libxml2 libxslt pkgconfig
20 autoconf bison libyaml readline ncurses libffi gdbm
21 jemalloc which postgresql python3 cacert
22 ];
23 }); 33 });
24 config = writeText "mastodon_environment" '' 34 config = writeText "mastodon_environment" ''
25 REDIS_HOST=localhost 35 REDIS_HOST=localhost
@@ -73,19 +83,15 @@ let
73 cp -a $mastodon $out 83 cp -a $mastodon $out
74 cd $out 84 cd $out
75 chmod u+rwX . node_modules public 85 chmod u+rwX . node_modules public
76 RAILS_ENV=production bundle exec rails assets:precompile 86 RAILS_ENV=production ${gems}/bin/rails assets:precompile
87 rm -rf tmp/cache
88 ln -sf ../../../../../../../${varDir}/tmp/cache tmp
77 ''; 89 '';
78 propagatedBuildInputs = with pkgs; [ 90 buildInputs = [ gems pkgs.nodejs pkgs.yarn ];
79 zlib icu libchardet git bundler yarn
80 protobuf protobufc libidn libpqxx nodejs
81 imagemagick ffmpeg libxml2 libxslt pkgconfig
82 autoconf bison libyaml readline ncurses libffi gdbm
83 jemalloc which postgresql python3 cacert
84 ];
85 }; 91 };
86in 92in
87 { 93 {
88 inherit railsRoot config varDir socketsDir; 94 inherit railsRoot config varDir socketsDir gems;
89 nodeSocket = "${socketsDir}/live_immae_node.sock"; 95 nodeSocket = "${socketsDir}/live_immae_node.sock";
90 railsSocket = "${socketsDir}/live_immae_puma.sock"; 96 railsSocket = "${socketsDir}/live_immae_puma.sock";
91 } 97 }