lighthouse-graphql 0.3.0 → 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 (99) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +182 -1
  3. data/README.md +18 -7
  4. data/docs/best-practices.md +16 -6
  5. data/docs/configuration.md +33 -8
  6. data/docs/directives.md +318 -10
  7. data/docs/events.md +3 -1
  8. data/docs/federation.md +3 -2
  9. data/docs/generators.md +82 -0
  10. data/docs/getting-started.md +66 -32
  11. data/docs/motivation.md +3 -2
  12. data/docs/relationships.md +42 -0
  13. data/docs/relay.md +137 -0
  14. data/docs/resolvers.md +338 -25
  15. data/docs/security.md +227 -0
  16. data/docs/subscriptions.md +60 -37
  17. data/docs/types.md +219 -0
  18. data/docs/uploads.md +80 -0
  19. data/lib/generators/lighthouse/base_classes.rb +70 -0
  20. data/lib/generators/lighthouse/class_generator.rb +19 -8
  21. data/lib/generators/lighthouse/install/install_generator.rb +96 -20
  22. data/lib/generators/lighthouse/install/templates/initializer.rb.tt +19 -10
  23. data/lib/generators/lighthouse/install/templates/schema.rb.tt +21 -2
  24. data/lib/generators/lighthouse/mutation_generator.rb +5 -4
  25. data/lib/generators/lighthouse/query_generator.rb +5 -4
  26. data/lib/generators/lighthouse/subscription_generator.rb +21 -16
  27. data/lib/lighthouse/async_mutation_job.rb +17 -0
  28. data/lib/lighthouse/complexity.rb +175 -0
  29. data/lib/lighthouse/complexity_analyzer.rb +56 -0
  30. data/lib/lighthouse/config.rb +16 -4
  31. data/lib/lighthouse/controller.rb +27 -9
  32. data/lib/lighthouse/dataloader_sources/preload_loader.rb +16 -0
  33. data/lib/lighthouse/dataloader_sources/relation_counts_loader.rb +46 -0
  34. data/lib/lighthouse/default_resolve_dispatcher.rb +26 -0
  35. data/lib/lighthouse/directive_resolvers/all_resolver.rb +1 -1
  36. data/lib/lighthouse/directive_resolvers/argument_binding.rb +61 -0
  37. data/lib/lighthouse/directive_resolvers/argument_transforms_resolver.rb +220 -0
  38. data/lib/lighthouse/directive_resolvers/association_resolvers.rb +2 -2
  39. data/lib/lighthouse/directive_resolvers/async_resolver.rb +90 -0
  40. data/lib/lighthouse/directive_resolvers/base.rb +63 -14
  41. data/lib/lighthouse/directive_resolvers/builder_applier.rb +89 -19
  42. data/lib/lighthouse/directive_resolvers/can_resolvers.rb +1 -1
  43. data/lib/lighthouse/directive_resolvers/convention_resolver.rb +16 -5
  44. data/lib/lighthouse/directive_resolvers/convert_empty_strings_resolver.rb +1 -1
  45. data/lib/lighthouse/directive_resolvers/count_resolver.rb +1 -1
  46. data/lib/lighthouse/directive_resolvers/field_resolver.rb +35 -7
  47. data/lib/lighthouse/directive_resolvers/first_resolver.rb +1 -1
  48. data/lib/lighthouse/directive_resolvers/global_id_resolver.rb +57 -0
  49. data/lib/lighthouse/directive_resolvers/lazy_load_resolver.rb +61 -0
  50. data/lib/lighthouse/directive_resolvers/limit_resolver.rb +59 -0
  51. data/lib/lighthouse/directive_resolvers/method_resolver.rb +38 -3
  52. data/lib/lighthouse/directive_resolvers/model_mutation_resolver.rb +1 -1
  53. data/lib/lighthouse/directive_resolvers/namespaced_resolver.rb +31 -0
  54. data/lib/lighthouse/directive_resolvers/paginate_resolver.rb +1 -1
  55. data/lib/lighthouse/directive_resolvers/resolution.rb +19 -4
  56. data/lib/lighthouse/directive_resolvers/subscription_resolver.rb +14 -5
  57. data/lib/lighthouse/directive_resolvers/throttle_resolver.rb +77 -0
  58. data/lib/lighthouse/directive_resolvers/type_method_resolver.rb +81 -0
  59. data/lib/lighthouse/directive_resolvers/with_count_resolver.rb +43 -0
  60. data/lib/lighthouse/directive_resolvers/with_resolver.rb +42 -0
  61. data/lib/lighthouse/directives/arguments/more_filters.rb +215 -0
  62. data/lib/lighthouse/directives/definitions.rb +52 -0
  63. data/lib/lighthouse/directives/model_directive.rb +131 -0
  64. data/lib/lighthouse/directives/node_directive.rb +134 -0
  65. data/lib/lighthouse/directives/pagination_manipulator.rb +1 -1
  66. data/lib/lighthouse/directives/registry.rb +21 -20
  67. data/lib/lighthouse/directives/visibility_directive.rb +71 -0
  68. data/lib/lighthouse/enum_directive.rb +41 -0
  69. data/lib/lighthouse/events/execution_trace.rb +2 -1
  70. data/lib/lighthouse/events/lifecycle.rb +3 -1
  71. data/lib/lighthouse/field_resolver_stack.rb +59 -11
  72. data/lib/lighthouse/generated_resolvers.rb +13 -8
  73. data/lib/lighthouse/global_id.rb +31 -0
  74. data/lib/lighthouse/graphql/version.rb +1 -1
  75. data/lib/lighthouse/multipart_request.rb +43 -0
  76. data/lib/lighthouse/node_registry.rb +68 -0
  77. data/lib/lighthouse/pagination.rb +3 -0
  78. data/lib/lighthouse/rb_lighthouse.rb +36 -0
  79. data/lib/lighthouse/relation_counts.rb +29 -0
  80. data/lib/lighthouse/resolve_info.rb +80 -0
  81. data/lib/lighthouse/resolver_bases.rb +68 -0
  82. data/lib/lighthouse/resolver_dispatch.rb +36 -11
  83. data/lib/lighthouse/scalar_coercion.rb +72 -0
  84. data/lib/lighthouse/schema_cache.rb +2 -1
  85. data/lib/lighthouse/schema_factory.rb +0 -1
  86. data/lib/lighthouse/schema_generator.rb +21 -12
  87. data/lib/lighthouse/schema_implementation.rb +4 -8
  88. data/lib/lighthouse/sdl_loader.rb +0 -2
  89. data/lib/lighthouse/support/environment.rb +13 -0
  90. data/lib/lighthouse/support/model_resolver.rb +8 -6
  91. data/lib/lighthouse/support/preload.rb +49 -0
  92. data/lib/lighthouse/type.rb +103 -0
  93. data/lib/lighthouse/type_resolution.rb +150 -0
  94. data/lib/lighthouse/upload.rb +26 -0
  95. data/lib/lighthouse/upload_store.rb +32 -0
  96. data/sig/lighthouse/directives.rbs +3 -2
  97. data/sig/lighthouse/graphql.rbs +29 -0
  98. data/sig/lighthouse.rbs +18 -0
  99. metadata +43 -1
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: lighthouse-graphql
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.0
4
+ version: 0.5.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Vaz Innovation
@@ -62,14 +62,20 @@ files:
62
62
  - docs/events.md
63
63
  - docs/federation.md
64
64
  - docs/filtering-and-ordering.md
65
+ - docs/generators.md
65
66
  - docs/getting-started.md
66
67
  - docs/motivation.md
67
68
  - docs/mutations.md
68
69
  - docs/performance.md
69
70
  - docs/relationships.md
71
+ - docs/relay.md
70
72
  - docs/resolvers.md
73
+ - docs/security.md
71
74
  - docs/subscriptions.md
75
+ - docs/types.md
76
+ - docs/uploads.md
72
77
  - docs/validation.md
78
+ - lib/generators/lighthouse/base_classes.rb
73
79
  - lib/generators/lighthouse/builder_generator.rb
74
80
  - lib/generators/lighthouse/class_generator.rb
75
81
  - lib/generators/lighthouse/install/install_generator.rb
@@ -83,10 +89,13 @@ files:
83
89
  - lib/generators/lighthouse/subscription_generator.rb
84
90
  - lib/generators/lighthouse/validator_generator.rb
85
91
  - lib/lighthouse-graphql.rb
92
+ - lib/lighthouse/async_mutation_job.rb
86
93
  - lib/lighthouse/broadcast_job.rb
87
94
  - lib/lighthouse/broadcasting.rb
88
95
  - lib/lighthouse/cache_control.rb
89
96
  - lib/lighthouse/caching.rb
97
+ - lib/lighthouse/complexity.rb
98
+ - lib/lighthouse/complexity_analyzer.rb
90
99
  - lib/lighthouse/config.rb
91
100
  - lib/lighthouse/contracts/arg_builder.rb
92
101
  - lib/lighthouse/contracts/arg_manipulator.rb
@@ -97,11 +106,17 @@ files:
97
106
  - lib/lighthouse/controller.rb
98
107
  - lib/lighthouse/dataloader_sources/association_loader.rb
99
108
  - lib/lighthouse/dataloader_sources/model_loader.rb
109
+ - lib/lighthouse/dataloader_sources/preload_loader.rb
100
110
  - lib/lighthouse/dataloader_sources/relation_count_loader.rb
111
+ - lib/lighthouse/dataloader_sources/relation_counts_loader.rb
101
112
  - lib/lighthouse/dataloader_sources/relation_page_loader.rb
113
+ - lib/lighthouse/default_resolve_dispatcher.rb
102
114
  - lib/lighthouse/directive_resolvers/aggregate_resolver.rb
103
115
  - lib/lighthouse/directive_resolvers/all_resolver.rb
116
+ - lib/lighthouse/directive_resolvers/argument_binding.rb
117
+ - lib/lighthouse/directive_resolvers/argument_transforms_resolver.rb
104
118
  - lib/lighthouse/directive_resolvers/association_resolvers.rb
119
+ - lib/lighthouse/directive_resolvers/async_resolver.rb
105
120
  - lib/lighthouse/directive_resolvers/auth_resolver.rb
106
121
  - lib/lighthouse/directive_resolvers/base.rb
107
122
  - lib/lighthouse/directive_resolvers/broadcast_resolver.rb
@@ -115,25 +130,39 @@ files:
115
130
  - lib/lighthouse/directive_resolvers/field_resolver.rb
116
131
  - lib/lighthouse/directive_resolvers/find_resolver.rb
117
132
  - lib/lighthouse/directive_resolvers/first_resolver.rb
133
+ - lib/lighthouse/directive_resolvers/global_id_resolver.rb
118
134
  - lib/lighthouse/directive_resolvers/guard_resolver.rb
135
+ - lib/lighthouse/directive_resolvers/lazy_load_resolver.rb
136
+ - lib/lighthouse/directive_resolvers/limit_resolver.rb
119
137
  - lib/lighthouse/directive_resolvers/method_resolver.rb
120
138
  - lib/lighthouse/directive_resolvers/model_mutation_resolver.rb
139
+ - lib/lighthouse/directive_resolvers/namespaced_resolver.rb
121
140
  - lib/lighthouse/directive_resolvers/paginate_resolver.rb
122
141
  - lib/lighthouse/directive_resolvers/rename_resolver.rb
123
142
  - lib/lighthouse/directive_resolvers/resolution.rb
124
143
  - lib/lighthouse/directive_resolvers/soft_delete_resolvers.rb
125
144
  - lib/lighthouse/directive_resolvers/subscription_resolver.rb
145
+ - lib/lighthouse/directive_resolvers/throttle_resolver.rb
146
+ - lib/lighthouse/directive_resolvers/type_method_resolver.rb
126
147
  - lib/lighthouse/directive_resolvers/validator_resolver.rb
127
148
  - lib/lighthouse/directive_resolvers/where_conditions_applier.rb
149
+ - lib/lighthouse/directive_resolvers/with_count_resolver.rb
150
+ - lib/lighthouse/directive_resolvers/with_resolver.rb
128
151
  - lib/lighthouse/directives/arguments/base.rb
129
152
  - lib/lighthouse/directives/arguments/filters.rb
153
+ - lib/lighthouse/directives/arguments/more_filters.rb
130
154
  - lib/lighthouse/directives/arguments/order_by.rb
131
155
  - lib/lighthouse/directives/arguments/soft_deletes.rb
156
+ - lib/lighthouse/directives/definitions.rb
157
+ - lib/lighthouse/directives/model_directive.rb
158
+ - lib/lighthouse/directives/node_directive.rb
132
159
  - lib/lighthouse/directives/pagination_info_types.rb
133
160
  - lib/lighthouse/directives/pagination_manipulator.rb
134
161
  - lib/lighthouse/directives/registry.rb
135
162
  - lib/lighthouse/directives/soft_deletes_directive.rb
163
+ - lib/lighthouse/directives/visibility_directive.rb
136
164
  - lib/lighthouse/directives/where_conditions_directive.rb
165
+ - lib/lighthouse/enum_directive.rb
137
166
  - lib/lighthouse/errors.rb
138
167
  - lib/lighthouse/events.rb
139
168
  - lib/lighthouse/events/execution_trace.rb
@@ -143,10 +172,12 @@ files:
143
172
  - lib/lighthouse/federation_directives.rb
144
173
  - lib/lighthouse/field_resolver_stack.rb
145
174
  - lib/lighthouse/generated_resolvers.rb
175
+ - lib/lighthouse/global_id.rb
146
176
  - lib/lighthouse/graphql.rb
147
177
  - lib/lighthouse/graphql/version.rb
148
178
  - lib/lighthouse/graphql_ruby_patches.rb
149
179
  - lib/lighthouse/ide_helper.rb
180
+ - lib/lighthouse/multipart_request.rb
150
181
  - lib/lighthouse/namespaces.rb
151
182
  - lib/lighthouse/nested_mutations.rb
152
183
  - lib/lighthouse/nested_mutations/belongs_to_operations.rb
@@ -154,6 +185,7 @@ files:
154
185
  - lib/lighthouse/nested_mutations/has_operations.rb
155
186
  - lib/lighthouse/nested_mutations/many_to_many_operations.rb
156
187
  - lib/lighthouse/nested_mutations/partitioner.rb
188
+ - lib/lighthouse/node_registry.rb
157
189
  - lib/lighthouse/pagination.rb
158
190
  - lib/lighthouse/persisted_queries.rb
159
191
  - lib/lighthouse/persisted_queries/batch.rb
@@ -161,7 +193,11 @@ files:
161
193
  - lib/lighthouse/rb_lighthouse.rb
162
194
  - lib/lighthouse/reference_resolver.rb
163
195
  - lib/lighthouse/relation_batch.rb
196
+ - lib/lighthouse/relation_counts.rb
197
+ - lib/lighthouse/resolve_info.rb
198
+ - lib/lighthouse/resolver_bases.rb
164
199
  - lib/lighthouse/resolver_dispatch.rb
200
+ - lib/lighthouse/scalar_coercion.rb
165
201
  - lib/lighthouse/schema_cache.rb
166
202
  - lib/lighthouse/schema_factory.rb
167
203
  - lib/lighthouse/schema_generator.rb
@@ -172,10 +208,16 @@ files:
172
208
  - lib/lighthouse/support/authorization.rb
173
209
  - lib/lighthouse/support/batching.rb
174
210
  - lib/lighthouse/support/directive_args.rb
211
+ - lib/lighthouse/support/environment.rb
175
212
  - lib/lighthouse/support/model_resolver.rb
176
213
  - lib/lighthouse/support/naming.rb
214
+ - lib/lighthouse/support/preload.rb
177
215
  - lib/lighthouse/support/soft_deletes.rb
178
216
  - lib/lighthouse/tasks/lighthouse.rake
217
+ - lib/lighthouse/type.rb
218
+ - lib/lighthouse/type_resolution.rb
219
+ - lib/lighthouse/upload.rb
220
+ - lib/lighthouse/upload_store.rb
179
221
  - lib/lighthouse/where_conditions/operator_map.rb
180
222
  - sig/lighthouse.rbs
181
223
  - sig/lighthouse/controller.rbs