diff --git a/lib/graphiti_graphql/engine.rb b/lib/graphiti_graphql/engine.rb index 83b8f3d..e267384 100644 --- a/lib/graphiti_graphql/engine.rb +++ b/lib/graphiti_graphql/engine.rb @@ -65,15 +65,18 @@ def self.reloader_class end initializer "graphiti_graphql.define_controller" do - require "#{Rails.root}/app/controllers/application_controller" - app_controller = GraphitiGraphQL.config.federation_application_controller || ::ApplicationController - # rubocop:disable Lint/ConstantDefinitionInBlock(Standard) - class GraphitiGraphQL::ExecutionController < app_controller - register_exception Graphiti::Errors::UnreadableAttribute, message: true - def execute - params = request.params # avoid strong_parameters - render json: Graphiti.gql(params[:query], params[:variables]) + ::GraphitiGraphQL::Engine.reloader_class.to_prepare do + require "#{Rails.root}/app/controllers/application_controller" + app_controller = GraphitiGraphQL.config.federation_application_controller || ::ApplicationController + # rubocop:disable Lint/ConstantDefinitionInBlock(Standard) + class GraphitiGraphQL::ExecutionController < app_controller + register_exception Graphiti::Errors::UnreadableAttribute, message: true + def execute + params = request.params # avoid strong_parameters + render json: Graphiti.gql(params[:query], params[:variables]) + end end + # rubocop:enable Lint/ConstantDefinitionInBlock(Standard) end end