Я пытаюсь сделать GraphQL API, но также внедрить внедрение зависимостей через dry-rb_autoinject.Мне удалось сделать это через контроллер и контекст.Вот мой тест QueryType.
Types::QueryType = GraphQL::ObjectType.define do
name "Query"
# Add root-level fields here.
# They will be entry points for queries on your schema.
# TODO: remove me
field :testField, types.String do
description "An example field added by the generator"
resolve ->(obj, args, ctx) {
ctx[:services][:output_service].()
}
end
end
И в graphql_controller я просто делаю
class GraphqlController < ApplicationController
include IMPORT[:output_service]
def execute
...
services: {
output_service: output_service
}
...
Но это решение кажется не очень хорошим, так как я импортирую все сервисы, за исключением тех, которые я надеваюне нужно для текущего поля.Есть ли какой-нибудь причудливый путь к этому, может быть, не через контекст?