graph_weaver 0.6.1 → 0.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (70) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +1447 -1
  3. data/Gemfile +8 -0
  4. data/Gemfile.lock +151 -2
  5. data/README.md +20 -6
  6. data/docs/alternatives.md +201 -0
  7. data/docs/cassettes.md +17 -1
  8. data/docs/errors.md +382 -17
  9. data/docs/federation.md +469 -63
  10. data/docs/generated_modules.md +231 -15
  11. data/docs/getting_started.md +497 -104
  12. data/docs/i18n.md +234 -0
  13. data/docs/logging.md +160 -24
  14. data/docs/real_world.md +28 -0
  15. data/docs/scalars.md +190 -26
  16. data/docs/testing.md +457 -58
  17. data/docs/transports.md +164 -19
  18. data/docs/upgrading.md +328 -3
  19. data/graph_weaver.gemspec +7 -0
  20. data/lib/generators/graph_weaver/install_generator.rb +138 -4
  21. data/lib/graph_weaver/client.rb +47 -10
  22. data/lib/graph_weaver/codegen/aliases.rb +7 -5
  23. data/lib/graph_weaver/codegen/emit.rb +98 -29
  24. data/lib/graph_weaver/codegen/enum_type.rb +2 -1
  25. data/lib/graph_weaver/codegen/nodes.rb +39 -6
  26. data/lib/graph_weaver/codegen/registry.rb +175 -0
  27. data/lib/graph_weaver/codegen/scalar_type.rb +123 -30
  28. data/lib/graph_weaver/codegen/type_helpers.rb +56 -11
  29. data/lib/graph_weaver/codegen.rb +404 -197
  30. data/lib/graph_weaver/coerce.rb +155 -26
  31. data/lib/graph_weaver/errors.rb +264 -34
  32. data/lib/graph_weaver/federation.rb +119 -26
  33. data/lib/graph_weaver/graph.rb +315 -0
  34. data/lib/graph_weaver/hints.rb +100 -24
  35. data/lib/graph_weaver/in_process.rb +17 -11
  36. data/lib/graph_weaver/input_struct.rb +119 -32
  37. data/lib/graph_weaver/internal/endpoint.rb +78 -0
  38. data/lib/graph_weaver/internal/headers.rb +51 -0
  39. data/lib/graph_weaver/internal/overrides.rb +67 -5
  40. data/lib/graph_weaver/internal/planner.rb +45 -15
  41. data/lib/graph_weaver/internal/refusal.rb +49 -0
  42. data/lib/graph_weaver/internal/schemas.rb +23 -9
  43. data/lib/graph_weaver/internal/selection.rb +34 -0
  44. data/lib/graph_weaver/internal/server_input.rb +251 -0
  45. data/lib/graph_weaver/internal/test_clients.rb +276 -0
  46. data/lib/graph_weaver/internal/unused.rb +287 -0
  47. data/lib/graph_weaver/internal/values.rb +40 -4
  48. data/lib/graph_weaver/internal.rb +183 -1
  49. data/lib/graph_weaver/log_subscriber.rb +66 -0
  50. data/lib/graph_weaver/logging.rb +136 -12
  51. data/lib/graph_weaver/query_module.rb +36 -3
  52. data/lib/graph_weaver/railtie.rb +237 -17
  53. data/lib/graph_weaver/representation.rb +55 -17
  54. data/lib/graph_weaver/result_struct.rb +90 -0
  55. data/lib/graph_weaver/retry.rb +33 -5
  56. data/lib/graph_weaver/rspec.rb +404 -93
  57. data/lib/graph_weaver/schema_loader.rb +221 -49
  58. data/lib/graph_weaver/tasks.rb +380 -89
  59. data/lib/graph_weaver/testing/cassette.rb +6 -5
  60. data/lib/graph_weaver/testing/endpoint.rb +106 -0
  61. data/lib/graph_weaver/testing/failure.rb +69 -12
  62. data/lib/graph_weaver/testing/fake_client.rb +133 -44
  63. data/lib/graph_weaver/testing/router.rb +58 -11
  64. data/lib/graph_weaver/testing.rb +200 -58
  65. data/lib/graph_weaver/transport/faraday.rb +41 -8
  66. data/lib/graph_weaver/transport/http.rb +46 -4
  67. data/lib/graph_weaver/transport.rb +109 -26
  68. data/lib/graph_weaver/version.rb +1 -1
  69. data/lib/graph_weaver.rb +474 -106
  70. metadata +56 -1
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: graph_weaver
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.6.1
4
+ version: 0.7.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Daniel Pepper
@@ -107,6 +107,20 @@ dependencies:
107
107
  - - ">="
108
108
  - !ruby/object:Gem::Version
109
109
  version: '0'
110
+ - !ruby/object:Gem::Dependency
111
+ name: rack
112
+ requirement: !ruby/object:Gem::Requirement
113
+ requirements:
114
+ - - ">="
115
+ - !ruby/object:Gem::Version
116
+ version: '0'
117
+ type: :development
118
+ prerelease: false
119
+ version_requirements: !ruby/object:Gem::Requirement
120
+ requirements:
121
+ - - ">="
122
+ - !ruby/object:Gem::Version
123
+ version: '0'
110
124
  - !ruby/object:Gem::Dependency
111
125
  name: rake
112
126
  requirement: !ruby/object:Gem::Requirement
@@ -121,6 +135,20 @@ dependencies:
121
135
  - - ">="
122
136
  - !ruby/object:Gem::Version
123
137
  version: '0'
138
+ - !ruby/object:Gem::Dependency
139
+ name: railties
140
+ requirement: !ruby/object:Gem::Requirement
141
+ requirements:
142
+ - - ">="
143
+ - !ruby/object:Gem::Version
144
+ version: '0'
145
+ type: :development
146
+ prerelease: false
147
+ version_requirements: !ruby/object:Gem::Requirement
148
+ requirements:
149
+ - - ">="
150
+ - !ruby/object:Gem::Version
151
+ version: '0'
124
152
  - !ruby/object:Gem::Dependency
125
153
  name: redcarpet
126
154
  requirement: !ruby/object:Gem::Requirement
@@ -191,6 +219,20 @@ dependencies:
191
219
  - - ">="
192
220
  - !ruby/object:Gem::Version
193
221
  version: '0'
222
+ - !ruby/object:Gem::Dependency
223
+ name: webmock
224
+ requirement: !ruby/object:Gem::Requirement
225
+ requirements:
226
+ - - ">="
227
+ - !ruby/object:Gem::Version
228
+ version: '0'
229
+ type: :development
230
+ prerelease: false
231
+ version_requirements: !ruby/object:Gem::Requirement
232
+ requirements:
233
+ - - ">="
234
+ - !ruby/object:Gem::Version
235
+ version: '0'
194
236
  - !ruby/object:Gem::Dependency
195
237
  name: webrick
196
238
  requirement: !ruby/object:Gem::Requirement
@@ -231,12 +273,14 @@ files:
231
273
  - Gemfile.lock
232
274
  - LICENSE.txt
233
275
  - README.md
276
+ - docs/alternatives.md
234
277
  - docs/cassettes.md
235
278
  - docs/editors.md
236
279
  - docs/errors.md
237
280
  - docs/federation.md
238
281
  - docs/generated_modules.md
239
282
  - docs/getting_started.md
283
+ - docs/i18n.md
240
284
  - docs/logging.md
241
285
  - docs/real_world.md
242
286
  - docs/scalars.md
@@ -252,28 +296,38 @@ files:
252
296
  - lib/graph_weaver/codegen/emit.rb
253
297
  - lib/graph_weaver/codegen/enum_type.rb
254
298
  - lib/graph_weaver/codegen/nodes.rb
299
+ - lib/graph_weaver/codegen/registry.rb
255
300
  - lib/graph_weaver/codegen/scalar_type.rb
256
301
  - lib/graph_weaver/codegen/type_helpers.rb
257
302
  - lib/graph_weaver/coerce.rb
258
303
  - lib/graph_weaver/errors.rb
259
304
  - lib/graph_weaver/federation.rb
305
+ - lib/graph_weaver/graph.rb
260
306
  - lib/graph_weaver/hints.rb
261
307
  - lib/graph_weaver/in_process.rb
262
308
  - lib/graph_weaver/inflect.rb
263
309
  - lib/graph_weaver/input_struct.rb
264
310
  - lib/graph_weaver/internal.rb
311
+ - lib/graph_weaver/internal/endpoint.rb
312
+ - lib/graph_weaver/internal/headers.rb
265
313
  - lib/graph_weaver/internal/overrides.rb
266
314
  - lib/graph_weaver/internal/planner.rb
315
+ - lib/graph_weaver/internal/refusal.rb
267
316
  - lib/graph_weaver/internal/schemas.rb
268
317
  - lib/graph_weaver/internal/selection.rb
318
+ - lib/graph_weaver/internal/server_input.rb
269
319
  - lib/graph_weaver/internal/subgraphs.rb
320
+ - lib/graph_weaver/internal/test_clients.rb
321
+ - lib/graph_weaver/internal/unused.rb
270
322
  - lib/graph_weaver/internal/values.rb
323
+ - lib/graph_weaver/log_subscriber.rb
271
324
  - lib/graph_weaver/logging.rb
272
325
  - lib/graph_weaver/parsing.rb
273
326
  - lib/graph_weaver/query_module.rb
274
327
  - lib/graph_weaver/railtie.rb
275
328
  - lib/graph_weaver/representation.rb
276
329
  - lib/graph_weaver/response.rb
330
+ - lib/graph_weaver/result_struct.rb
277
331
  - lib/graph_weaver/retry.rb
278
332
  - lib/graph_weaver/rspec.rb
279
333
  - lib/graph_weaver/schema_diff.rb
@@ -282,6 +336,7 @@ files:
282
336
  - lib/graph_weaver/testing.rb
283
337
  - lib/graph_weaver/testing/cassette.rb
284
338
  - lib/graph_weaver/testing/coverage.rb
339
+ - lib/graph_weaver/testing/endpoint.rb
285
340
  - lib/graph_weaver/testing/failure.rb
286
341
  - lib/graph_weaver/testing/fake_client.rb
287
342
  - lib/graph_weaver/testing/fake_subgraph.rb