graph_weaver 0.4.6 → 0.5.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 (62) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +1314 -0
  3. data/CLAUDE.md +100 -8
  4. data/DECISIONS.md +309 -0
  5. data/Gemfile.lock +23 -23
  6. data/NOTES.md +5 -5
  7. data/PLAN.md +106 -135
  8. data/README.md +115 -96
  9. data/REVIEW.md +946 -0
  10. data/docs/cassettes.md +75 -48
  11. data/docs/editors.md +82 -0
  12. data/docs/errors.md +32 -30
  13. data/docs/federation.md +520 -48
  14. data/docs/generated_modules.md +352 -137
  15. data/docs/getting_started.md +237 -67
  16. data/docs/logging.md +35 -6
  17. data/docs/real_world.md +21 -15
  18. data/docs/scalars.md +49 -154
  19. data/docs/testing.md +299 -52
  20. data/docs/transports.md +129 -30
  21. data/docs/upgrading.md +112 -0
  22. data/graph_weaver.gemspec +3 -1
  23. data/lib/generators/graph_weaver/install_generator.rb +259 -0
  24. data/lib/graph_weaver/client.rb +114 -111
  25. data/lib/graph_weaver/codegen/aliases.rb +217 -0
  26. data/lib/graph_weaver/codegen/emit.rb +272 -258
  27. data/lib/graph_weaver/codegen/enum_type.rb +27 -124
  28. data/lib/graph_weaver/codegen/nodes.rb +72 -13
  29. data/lib/graph_weaver/codegen/scalar_type.rb +68 -66
  30. data/lib/graph_weaver/codegen/type_helpers.rb +142 -0
  31. data/lib/graph_weaver/codegen.rb +593 -334
  32. data/lib/graph_weaver/errors.rb +127 -10
  33. data/lib/graph_weaver/federation.rb +272 -0
  34. data/lib/graph_weaver/hints.rb +9 -1
  35. data/lib/graph_weaver/in_process.rb +90 -0
  36. data/lib/graph_weaver/input_struct.rb +14 -2
  37. data/lib/graph_weaver/logging.rb +29 -0
  38. data/lib/graph_weaver/parsing.rb +67 -0
  39. data/lib/graph_weaver/query_module.rb +55 -0
  40. data/lib/graph_weaver/railtie.rb +23 -1
  41. data/lib/graph_weaver/representation.rb +74 -0
  42. data/lib/graph_weaver/response.rb +7 -0
  43. data/lib/graph_weaver/retry.rb +29 -8
  44. data/lib/graph_weaver/rspec.rb +214 -16
  45. data/lib/graph_weaver/schema_loader.rb +794 -59
  46. data/lib/graph_weaver/schemas.rb +46 -0
  47. data/lib/graph_weaver/selection.rb +43 -8
  48. data/lib/graph_weaver/tasks.rb +216 -21
  49. data/lib/graph_weaver/testing/cassette.rb +160 -61
  50. data/lib/graph_weaver/testing/coverage.rb +165 -0
  51. data/lib/graph_weaver/testing/failure.rb +10 -23
  52. data/lib/graph_weaver/testing/fake_client.rb +181 -21
  53. data/lib/graph_weaver/testing/fake_subgraph.rb +85 -0
  54. data/lib/graph_weaver/testing/router.rb +1431 -0
  55. data/lib/graph_weaver/testing/subgraphs.rb +130 -0
  56. data/lib/graph_weaver/testing.rb +204 -14
  57. data/lib/graph_weaver/transport/faraday.rb +28 -10
  58. data/lib/graph_weaver/transport/http.rb +99 -36
  59. data/lib/graph_weaver/transport.rb +67 -14
  60. data/lib/graph_weaver/version.rb +1 -1
  61. data/lib/graph_weaver.rb +389 -170
  62. metadata +20 -3
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.4.6
4
+ version: 0.5.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Daniel Pepper
@@ -219,8 +219,8 @@ dependencies:
219
219
  - - ">="
220
220
  - !ruby/object:Gem::Version
221
221
  version: '0'
222
- description: A typed GraphQL client for Rubygenerate Sorbet T::Structs from queries,
223
- with federation, extensibility, and testing in mind
222
+ description: Your .graphql files, compiled into Sorbet types and the fakes to test
223
+ them.
224
224
  executables: []
225
225
  extensions: []
226
226
  extra_rdoc_files: []
@@ -228,6 +228,7 @@ files:
228
228
  - ".yardopts"
229
229
  - CHANGELOG.md
230
230
  - CLAUDE.md
231
+ - DECISIONS.md
231
232
  - Gemfile
232
233
  - Gemfile.lock
233
234
  - LICENSE.txt
@@ -235,7 +236,9 @@ files:
235
236
  - NOTES.md
236
237
  - PLAN.md
237
238
  - README.md
239
+ - REVIEW.md
238
240
  - docs/cassettes.md
241
+ - docs/editors.md
239
242
  - docs/errors.md
240
243
  - docs/federation.md
241
244
  - docs/generated_modules.md
@@ -245,30 +248,44 @@ files:
245
248
  - docs/scalars.md
246
249
  - docs/testing.md
247
250
  - docs/transports.md
251
+ - docs/upgrading.md
248
252
  - graph_weaver.gemspec
253
+ - lib/generators/graph_weaver/install_generator.rb
249
254
  - lib/graph_weaver.rb
250
255
  - lib/graph_weaver/client.rb
251
256
  - lib/graph_weaver/codegen.rb
257
+ - lib/graph_weaver/codegen/aliases.rb
252
258
  - lib/graph_weaver/codegen/emit.rb
253
259
  - lib/graph_weaver/codegen/enum_type.rb
254
260
  - lib/graph_weaver/codegen/nodes.rb
255
261
  - lib/graph_weaver/codegen/scalar_type.rb
262
+ - lib/graph_weaver/codegen/type_helpers.rb
256
263
  - lib/graph_weaver/errors.rb
264
+ - lib/graph_weaver/federation.rb
257
265
  - lib/graph_weaver/hints.rb
266
+ - lib/graph_weaver/in_process.rb
258
267
  - lib/graph_weaver/inflect.rb
259
268
  - lib/graph_weaver/input_struct.rb
260
269
  - lib/graph_weaver/logging.rb
270
+ - lib/graph_weaver/parsing.rb
271
+ - lib/graph_weaver/query_module.rb
261
272
  - lib/graph_weaver/railtie.rb
273
+ - lib/graph_weaver/representation.rb
262
274
  - lib/graph_weaver/response.rb
263
275
  - lib/graph_weaver/retry.rb
264
276
  - lib/graph_weaver/rspec.rb
265
277
  - lib/graph_weaver/schema_loader.rb
278
+ - lib/graph_weaver/schemas.rb
266
279
  - lib/graph_weaver/selection.rb
267
280
  - lib/graph_weaver/tasks.rb
268
281
  - lib/graph_weaver/testing.rb
269
282
  - lib/graph_weaver/testing/cassette.rb
283
+ - lib/graph_weaver/testing/coverage.rb
270
284
  - lib/graph_weaver/testing/failure.rb
271
285
  - lib/graph_weaver/testing/fake_client.rb
286
+ - lib/graph_weaver/testing/fake_subgraph.rb
287
+ - lib/graph_weaver/testing/router.rb
288
+ - lib/graph_weaver/testing/subgraphs.rb
272
289
  - lib/graph_weaver/testing/values.rb
273
290
  - lib/graph_weaver/transport.rb
274
291
  - lib/graph_weaver/transport/faraday.rb