module Graphiti::Rails::Context
Wraps controller actions in a [Graphiti Context](www.graphiti.dev/guides/concepts/resources#context) which points to the controller instance by default.
Public Class Methods
included(klass)
click to toggle source
# File lib/graphiti/rails/context.rb, line 6 def self.included(klass) klass.class_eval do include Graphiti::Context around_action :wrap_graphiti_context end end
Public Instance Methods
graphiti_context()
click to toggle source
The context to use for Graphiti
Resources. Defaults to the controller instance. Can be redefined for different behavior.
# File lib/graphiti/rails/context.rb, line 23 def graphiti_context if respond_to?(:jsonapi_context) DEPRECATOR.deprecation_warning("Overriding jsonapi_context", "Override #graphiti_context instead") jsonapi_context else self end end
wrap_graphiti_context() { || ... }
click to toggle source
Called by [`#around_action`](api.rubyonrails.org/classes/AbstractController/Callbacks/ClassMethods.html#method-i-around_action) to wrap the current action in a Graphiti
context defined by {#graphiti_context}.
# File lib/graphiti/rails/context.rb, line 15 def wrap_graphiti_context Graphiti.with_context(graphiti_context, action_name.to_sym) do yield end end