lighthouse-graphql 0.2.1 → 0.4.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 (67) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +99 -1
  3. data/README.md +22 -3
  4. data/docs/best-practices.md +16 -6
  5. data/docs/caching.md +1 -1
  6. data/docs/configuration.md +74 -5
  7. data/docs/custom-directives.md +11 -1
  8. data/docs/directives.md +333 -2
  9. data/docs/events.md +203 -0
  10. data/docs/federation.md +3 -2
  11. data/docs/getting-started.md +90 -23
  12. data/docs/motivation.md +3 -2
  13. data/docs/mutations.md +15 -0
  14. data/docs/resolvers.md +95 -19
  15. data/docs/security.md +210 -0
  16. data/docs/subscriptions.md +446 -0
  17. data/lib/generators/lighthouse/base_classes.rb +87 -0
  18. data/lib/generators/lighthouse/class_generator.rb +19 -8
  19. data/lib/generators/lighthouse/install/install_generator.rb +23 -6
  20. data/lib/generators/lighthouse/install/templates/graphql_controller.rb.tt +7 -45
  21. data/lib/generators/lighthouse/install/templates/initializer.rb.tt +34 -5
  22. data/lib/generators/lighthouse/install/templates/schema.rb.tt +14 -2
  23. data/lib/generators/lighthouse/mutation_generator.rb +5 -4
  24. data/lib/generators/lighthouse/query_generator.rb +5 -4
  25. data/lib/generators/lighthouse/subscription_generator.rb +100 -0
  26. data/lib/lighthouse/broadcast_job.rb +14 -0
  27. data/lib/lighthouse/broadcasting.rb +143 -0
  28. data/lib/lighthouse/cache_control.rb +5 -2
  29. data/lib/lighthouse/complexity.rb +174 -0
  30. data/lib/lighthouse/complexity_analyzer.rb +56 -0
  31. data/lib/lighthouse/config.rb +56 -14
  32. data/lib/lighthouse/controller.rb +131 -0
  33. data/lib/lighthouse/directive_resolvers/broadcast_resolver.rb +31 -0
  34. data/lib/lighthouse/directive_resolvers/convention_resolver.rb +14 -4
  35. data/lib/lighthouse/directive_resolvers/convert_empty_strings_resolver.rb +134 -0
  36. data/lib/lighthouse/directive_resolvers/event_resolver.rb +37 -0
  37. data/lib/lighthouse/directive_resolvers/model_mutation_resolver.rb +28 -13
  38. data/lib/lighthouse/directive_resolvers/soft_delete_resolvers.rb +66 -0
  39. data/lib/lighthouse/directive_resolvers/subscription_resolver.rb +76 -0
  40. data/lib/lighthouse/directives/arguments/soft_deletes.rb +112 -0
  41. data/lib/lighthouse/directives/registry.rb +15 -6
  42. data/lib/lighthouse/directives/soft_deletes_directive.rb +123 -0
  43. data/lib/lighthouse/events/execution_trace.rb +52 -0
  44. data/lib/lighthouse/events/lifecycle.rb +148 -0
  45. data/lib/lighthouse/events/schema_build.rb +44 -0
  46. data/lib/lighthouse/events.rb +76 -0
  47. data/lib/lighthouse/feature_directive.rb +137 -0
  48. data/lib/lighthouse/field_resolver_stack.rb +28 -7
  49. data/lib/lighthouse/graphql/version.rb +1 -1
  50. data/lib/lighthouse/namespaces.rb +1 -0
  51. data/lib/lighthouse/persisted_queries/batch.rb +34 -0
  52. data/lib/lighthouse/persisted_queries.rb +17 -4
  53. data/lib/lighthouse/rb_lighthouse.rb +23 -0
  54. data/lib/lighthouse/resolver_bases.rb +61 -0
  55. data/lib/lighthouse/schema_cache.rb +12 -5
  56. data/lib/lighthouse/schema_factory.rb +0 -1
  57. data/lib/lighthouse/schema_generator.rb +42 -9
  58. data/lib/lighthouse/sdl_loader.rb +0 -2
  59. data/lib/lighthouse/subscription.rb +120 -0
  60. data/lib/lighthouse/support/model_resolver.rb +1 -1
  61. data/lib/lighthouse/support/soft_deletes.rb +164 -0
  62. data/lib/lighthouse/tasks/lighthouse.rake +10 -0
  63. data/sig/lighthouse/controller.rbs +30 -0
  64. data/sig/lighthouse/events.rbs +122 -0
  65. data/sig/lighthouse/graphql.rbs +62 -0
  66. data/sig/lighthouse.rbs +52 -1
  67. metadata +29 -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.2.1
4
+ version: 0.4.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Vaz Innovation
@@ -59,6 +59,7 @@ files:
59
59
  - docs/configuration.md
60
60
  - docs/custom-directives.md
61
61
  - docs/directives.md
62
+ - docs/events.md
62
63
  - docs/federation.md
63
64
  - docs/filtering-and-ordering.md
64
65
  - docs/getting-started.md
@@ -67,7 +68,10 @@ files:
67
68
  - docs/performance.md
68
69
  - docs/relationships.md
69
70
  - docs/resolvers.md
71
+ - docs/security.md
72
+ - docs/subscriptions.md
70
73
  - docs/validation.md
74
+ - lib/generators/lighthouse/base_classes.rb
71
75
  - lib/generators/lighthouse/builder_generator.rb
72
76
  - lib/generators/lighthouse/class_generator.rb
73
77
  - lib/generators/lighthouse/install/install_generator.rb
@@ -78,10 +82,15 @@ files:
78
82
  - lib/generators/lighthouse/install/templates/schema.rb.tt
79
83
  - lib/generators/lighthouse/mutation_generator.rb
80
84
  - lib/generators/lighthouse/query_generator.rb
85
+ - lib/generators/lighthouse/subscription_generator.rb
81
86
  - lib/generators/lighthouse/validator_generator.rb
82
87
  - lib/lighthouse-graphql.rb
88
+ - lib/lighthouse/broadcast_job.rb
89
+ - lib/lighthouse/broadcasting.rb
83
90
  - lib/lighthouse/cache_control.rb
84
91
  - lib/lighthouse/caching.rb
92
+ - lib/lighthouse/complexity.rb
93
+ - lib/lighthouse/complexity_analyzer.rb
85
94
  - lib/lighthouse/config.rb
86
95
  - lib/lighthouse/contracts/arg_builder.rb
87
96
  - lib/lighthouse/contracts/arg_manipulator.rb
@@ -89,6 +98,7 @@ files:
89
98
  - lib/lighthouse/contracts/field_manipulator.rb
90
99
  - lib/lighthouse/contracts/field_middleware.rb
91
100
  - lib/lighthouse/contracts/field_resolver.rb
101
+ - lib/lighthouse/controller.rb
92
102
  - lib/lighthouse/dataloader_sources/association_loader.rb
93
103
  - lib/lighthouse/dataloader_sources/model_loader.rb
94
104
  - lib/lighthouse/dataloader_sources/relation_count_loader.rb
@@ -98,11 +108,14 @@ files:
98
108
  - lib/lighthouse/directive_resolvers/association_resolvers.rb
99
109
  - lib/lighthouse/directive_resolvers/auth_resolver.rb
100
110
  - lib/lighthouse/directive_resolvers/base.rb
111
+ - lib/lighthouse/directive_resolvers/broadcast_resolver.rb
101
112
  - lib/lighthouse/directive_resolvers/builder_applier.rb
102
113
  - lib/lighthouse/directive_resolvers/cache_resolvers.rb
103
114
  - lib/lighthouse/directive_resolvers/can_resolvers.rb
104
115
  - lib/lighthouse/directive_resolvers/convention_resolver.rb
116
+ - lib/lighthouse/directive_resolvers/convert_empty_strings_resolver.rb
105
117
  - lib/lighthouse/directive_resolvers/count_resolver.rb
118
+ - lib/lighthouse/directive_resolvers/event_resolver.rb
106
119
  - lib/lighthouse/directive_resolvers/field_resolver.rb
107
120
  - lib/lighthouse/directive_resolvers/find_resolver.rb
108
121
  - lib/lighthouse/directive_resolvers/first_resolver.rb
@@ -112,16 +125,25 @@ files:
112
125
  - lib/lighthouse/directive_resolvers/paginate_resolver.rb
113
126
  - lib/lighthouse/directive_resolvers/rename_resolver.rb
114
127
  - lib/lighthouse/directive_resolvers/resolution.rb
128
+ - lib/lighthouse/directive_resolvers/soft_delete_resolvers.rb
129
+ - lib/lighthouse/directive_resolvers/subscription_resolver.rb
115
130
  - lib/lighthouse/directive_resolvers/validator_resolver.rb
116
131
  - lib/lighthouse/directive_resolvers/where_conditions_applier.rb
117
132
  - lib/lighthouse/directives/arguments/base.rb
118
133
  - lib/lighthouse/directives/arguments/filters.rb
119
134
  - lib/lighthouse/directives/arguments/order_by.rb
135
+ - lib/lighthouse/directives/arguments/soft_deletes.rb
120
136
  - lib/lighthouse/directives/pagination_info_types.rb
121
137
  - lib/lighthouse/directives/pagination_manipulator.rb
122
138
  - lib/lighthouse/directives/registry.rb
139
+ - lib/lighthouse/directives/soft_deletes_directive.rb
123
140
  - lib/lighthouse/directives/where_conditions_directive.rb
124
141
  - lib/lighthouse/errors.rb
142
+ - lib/lighthouse/events.rb
143
+ - lib/lighthouse/events/execution_trace.rb
144
+ - lib/lighthouse/events/lifecycle.rb
145
+ - lib/lighthouse/events/schema_build.rb
146
+ - lib/lighthouse/feature_directive.rb
125
147
  - lib/lighthouse/federation_directives.rb
126
148
  - lib/lighthouse/field_resolver_stack.rb
127
149
  - lib/lighthouse/generated_resolvers.rb
@@ -138,26 +160,32 @@ files:
138
160
  - lib/lighthouse/nested_mutations/partitioner.rb
139
161
  - lib/lighthouse/pagination.rb
140
162
  - lib/lighthouse/persisted_queries.rb
163
+ - lib/lighthouse/persisted_queries/batch.rb
141
164
  - lib/lighthouse/railtie.rb
142
165
  - lib/lighthouse/rb_lighthouse.rb
143
166
  - lib/lighthouse/reference_resolver.rb
144
167
  - lib/lighthouse/relation_batch.rb
168
+ - lib/lighthouse/resolver_bases.rb
145
169
  - lib/lighthouse/resolver_dispatch.rb
146
170
  - lib/lighthouse/schema_cache.rb
147
171
  - lib/lighthouse/schema_factory.rb
148
172
  - lib/lighthouse/schema_generator.rb
149
173
  - lib/lighthouse/schema_implementation.rb
150
174
  - lib/lighthouse/sdl_loader.rb
175
+ - lib/lighthouse/subscription.rb
151
176
  - lib/lighthouse/support/arguments.rb
152
177
  - lib/lighthouse/support/authorization.rb
153
178
  - lib/lighthouse/support/batching.rb
154
179
  - lib/lighthouse/support/directive_args.rb
155
180
  - lib/lighthouse/support/model_resolver.rb
156
181
  - lib/lighthouse/support/naming.rb
182
+ - lib/lighthouse/support/soft_deletes.rb
157
183
  - lib/lighthouse/tasks/lighthouse.rake
158
184
  - lib/lighthouse/where_conditions/operator_map.rb
159
185
  - sig/lighthouse.rbs
186
+ - sig/lighthouse/controller.rbs
160
187
  - sig/lighthouse/directives.rbs
188
+ - sig/lighthouse/events.rbs
161
189
  - sig/lighthouse/graphql.rbs
162
190
  homepage: https://github.com/Vaz-Innovation/lighthouse-graphql
163
191
  licenses: