graphiti 2.0.0.beta.4 → 2.0.0.beta.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (36) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/ci.yml +5 -0
  3. data/.github/workflows/docs.yml +4 -7
  4. data/CHANGELOG.md +29 -0
  5. data/docs/concepts/links.md +3 -3
  6. data/docs/concepts/relationships.md +109 -9
  7. data/docs/topics/debugging.md +26 -0
  8. data/docs/upgrading.md +18 -17
  9. data/graphiti.gemspec +1 -19
  10. data/lib/generators/graphiti/resource_generator.rb +25 -1
  11. data/lib/generators/graphiti/templates/controller.rb.erb +1 -1
  12. data/lib/graphiti/audit/report.rb +226 -0
  13. data/lib/graphiti/audit.rb +231 -0
  14. data/lib/graphiti/errors.rb +47 -0
  15. data/lib/graphiti/rails/rake_helpers.rb +42 -0
  16. data/lib/graphiti/request_validators/validator.rb +10 -1
  17. data/lib/graphiti/resource/configuration.rb +16 -1
  18. data/lib/graphiti/resource/polymorphism.rb +10 -0
  19. data/lib/graphiti/schema.rb +1 -1
  20. data/lib/graphiti/sideload/belongs_to.rb +22 -29
  21. data/lib/graphiti/sideload.rb +48 -13
  22. data/lib/graphiti/spec_helpers/matchers.rb +196 -0
  23. data/lib/graphiti/spec_helpers/rspec.rb +1 -0
  24. data/lib/graphiti/spec_helpers.rb +1 -0
  25. data/lib/graphiti/util/serializer_relationships.rb +27 -4
  26. data/lib/graphiti/version.rb +1 -1
  27. data/lib/graphiti.rb +2 -0
  28. data/lib/tasks/graphiti.rake +16 -32
  29. data/website/docusaurus.config.js +67 -11
  30. data/website/src/css/custom.css +29 -2
  31. data/website/static/1.13/assets/img/fancy-cushion.png +0 -0
  32. data/website/static/1.13/assets/img/home-bg.jpg +0 -0
  33. data/website/static/1.13/assets/img/sunrise.png +0 -0
  34. data/website/static/1.13/assets/main.css +4 -4
  35. data/website/static/CNAME +1 -0
  36. metadata +9 -9
@@ -21,7 +21,7 @@
21
21
  --docusaurus-highlighted-code-line-bg: rgba(255, 102, 217, 0.12);
22
22
  }
23
23
 
24
- [data-theme='dark'] {
24
+ html[data-theme='dark'] {
25
25
  --ifm-color-primary: #ff66d9;
26
26
  --ifm-color-primary-dark: #ff45d1;
27
27
  --ifm-color-primary-darker: #ff34cd;
@@ -32,10 +32,13 @@
32
32
 
33
33
  --ifm-background-color: #292e33;
34
34
  --ifm-navbar-background-color: #292e33;
35
- --ifm-footer-background-color: #21252a;
36
35
  --docusaurus-highlighted-code-line-bg: rgba(255, 102, 217, 0.2);
37
36
  }
38
37
 
38
+ html[data-theme='dark'] .footer--dark {
39
+ --ifm-footer-background-color: #21252a;
40
+ }
41
+
39
42
  .navbar__title { font-family: 'Bungee', cursive; font-weight: 400; font-size: 1.35rem; }
40
43
 
41
44
  /* Black sets tight at display sizes and needs more room above it than a
@@ -56,3 +59,27 @@
56
59
  vertical-align: baseline;
57
60
  padding: 0.15em 0.3em;
58
61
  }
62
+
63
+ /* The bar is full-bleed on every page, so it takes a tint of the brand pink
64
+ rather than the pink itself, which at that width reads as a promo banner.
65
+ Docusaurus hashes the class name, hence the prefix selector. */
66
+ .theme-announcement-bar {
67
+ background: #fdeef7;
68
+ color: #7a1758;
69
+ font-size: 1.1rem;
70
+ border-bottom: 1px solid rgba(224, 40, 157, 0.25);
71
+ font-weight: 500;
72
+ }
73
+
74
+ [data-theme='dark'] .theme-announcement-bar {
75
+ background: #33272f;
76
+ color: #ffcbf1;
77
+ border-bottom-color: rgba(255, 102, 217, 0.25);
78
+ }
79
+
80
+ /* The link and the close button both carry their own colour, so they drift
81
+ from the bar's text unless told to inherit it. */
82
+ .theme-announcement-bar a,
83
+ .theme-announcement-bar button {
84
+ color: inherit;
85
+ }
@@ -14890,7 +14890,7 @@ a.header:hover {
14890
14890
  position: fixed;
14891
14891
  width: 100%;
14892
14892
  /*background: url("https://www.toptal.com/designers/subtlepatterns/patterns/connectwork.png");*/
14893
- background: url("/assets/img/fancy-cushion.png");
14893
+ background: url("/1.13/assets/img/fancy-cushion.png");
14894
14894
  /*background: url("https://www.toptal.com/designers/subtlepatterns/patterns/dark-honeycomb.png");*/
14895
14895
  border-bottom: 1px solid black;
14896
14896
  box-shadow: 1px 1px 15px -2px black;
@@ -14976,7 +14976,7 @@ body {
14976
14976
  color: rgb(76.5, 76.5, 76.5);
14977
14977
  }
14978
14978
  body.layout-home {
14979
- background-image: url("/assets/img/home-bg.jpg");
14979
+ background-image: url("/1.13/assets/img/home-bg.jpg");
14980
14980
  background-attachment: fixed;
14981
14981
  background-position: center;
14982
14982
  background-repeat: no-repeat;
@@ -15124,10 +15124,10 @@ h4 {
15124
15124
  }
15125
15125
 
15126
15126
  #cover-image.prod-bg {
15127
- background-image: url("/jsonapi_suite/assets/img/sunrise.png") !important;
15127
+ background-image: url("/1.13/assets/img/sunrise.png") !important;
15128
15128
  }
15129
15129
  #cover-image.dev-bg {
15130
- background-image: url("/assets/img/sunrise.png") !important;
15130
+ background-image: url("/1.13/assets/img/sunrise.png") !important;
15131
15131
  }
15132
15132
 
15133
15133
  .solution img {
@@ -0,0 +1 @@
1
+ graphiti.dev
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: graphiti
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.0.0.beta.4
4
+ version: 2.0.0.beta.6
5
5
  platform: ruby
6
6
  authors:
7
7
  - Lee Richmond
@@ -335,6 +335,8 @@ files:
335
335
  - lib/graphiti/adapters/graphiti_api.rb
336
336
  - lib/graphiti/adapters/null.rb
337
337
  - lib/graphiti/adapters/persistence/associations.rb
338
+ - lib/graphiti/audit.rb
339
+ - lib/graphiti/audit/report.rb
338
340
  - lib/graphiti/cli.rb
339
341
  - lib/graphiti/configuration.rb
340
342
  - lib/graphiti/context.rb
@@ -359,6 +361,7 @@ files:
359
361
  - lib/graphiti/rails/debugging.rb
360
362
  - lib/graphiti/rails/exception_handlers.rb
361
363
  - lib/graphiti/rails/railtie.rb
364
+ - lib/graphiti/rails/rake_helpers.rb
362
365
  - lib/graphiti/rails/responders.rb
363
366
  - lib/graphiti/rails/test_helpers.rb
364
367
  - lib/graphiti/renderer.rb
@@ -400,6 +403,7 @@ files:
400
403
  - lib/graphiti/spec_helpers/errors.rb
401
404
  - lib/graphiti/spec_helpers/errors_proxy.rb
402
405
  - lib/graphiti/spec_helpers/helpers.rb
406
+ - lib/graphiti/spec_helpers/matchers.rb
403
407
  - lib/graphiti/spec_helpers/node.rb
404
408
  - lib/graphiti/spec_helpers/rspec.rb
405
409
  - lib/graphiti/stats/dsl.rb
@@ -459,7 +463,9 @@ files:
459
463
  - website/static/1.13/assets/img/backend.gif
460
464
  - website/static/1.13/assets/img/conformity.png
461
465
  - website/static/1.13/assets/img/error_payload.png
466
+ - website/static/1.13/assets/img/fancy-cushion.png
462
467
  - website/static/1.13/assets/img/gh.png
468
+ - website/static/1.13/assets/img/home-bg.jpg
463
469
  - website/static/1.13/assets/img/lifecycle.gif
464
470
  - website/static/1.13/assets/img/logo-500.png
465
471
  - website/static/1.13/assets/img/logo.png
@@ -472,6 +478,7 @@ files:
472
478
  - website/static/1.13/assets/img/rest2.gif
473
479
  - website/static/1.13/assets/img/rest3.gif
474
480
  - website/static/1.13/assets/img/rethink-rest-graffiti.jpg
481
+ - website/static/1.13/assets/img/sunrise.png
475
482
  - website/static/1.13/assets/img/why.png
476
483
  - website/static/1.13/assets/js/highlight.pack.js
477
484
  - website/static/1.13/assets/main.css
@@ -550,6 +557,7 @@ files:
550
557
  - website/static/1.13/tutorial/step_7.html
551
558
  - website/static/1.13/tutorial/step_8.html
552
559
  - website/static/1.13/tutorial/step_9.html
560
+ - website/static/CNAME
553
561
  - website/static/assets/img/error_payload.png
554
562
  - website/static/assets/img/legacy/legacy-0378a3bb39.png
555
563
  - website/static/assets/img/legacy/legacy-05bbd3e5fd.png
@@ -572,14 +580,6 @@ homepage: https://github.com/graphiti-api/graphiti
572
580
  licenses:
573
581
  - MIT
574
582
  metadata: {}
575
- post_install_message: "Graphiti: relationship readable:/writable: guards are now enforced.\n\nSymbols,
576
- strings, and procs passed to a relationship's readable/writable\nguards were always
577
- interpreted as true and never actually called before this\nconditional relationship
578
- change. They are now evaluated per-request, where\nunreadable relationships are
579
- omitted from responses and includes, and unwritable\nrelationships reject writes.\n\nTo
580
- list every affected relationship in your app:\n\n bin/rails runner 'puts Graphiti.guarded_relationships'\n\nAudit
581
- these before deploying. Apps using schema.json will also see affected \nrelationships
582
- flagged as \"became guarded\" by the schema check.\n"
583
583
  rdoc_options: []
584
584
  require_paths:
585
585
  - lib