class GraphqlDevise::MountMethod::OperationPreparers::DefaultOperationPreparer
Public Class Methods
new(selected_operations:, custom_keys:, model:, preparer:)
click to toggle source
# File lib/graphql_devise/mount_method/operation_preparers/default_operation_preparer.rb, line 7 def initialize(selected_operations:, custom_keys:, model:, preparer:) @selected_operations = selected_operations @custom_keys = custom_keys @model = model @preparer = preparer end
Public Instance Methods
call()
click to toggle source
# File lib/graphql_devise/mount_method/operation_preparers/default_operation_preparer.rb, line 14 def call mapping_name = GraphqlDevise.to_mapping_name(@model) @selected_operations.except(*@custom_keys).each_with_object({}) do |(action, operation_info), result| mapped_action = "#{mapping_name}_#{action}" operation = operation_info[:klass] options = operation_info.except(:klass, :deprecation_reason) result[mapped_action.to_sym] = [ OperationPreparers::GqlNameSetter.new(mapped_action), @preparer, OperationPreparers::ResourceKlassSetter.new(@model) ].reduce(child_class(operation)) do |prepared_operation, preparer| preparer.call(prepared_operation, **options) end end end
Private Instance Methods
child_class(operation)
click to toggle source
# File lib/graphql_devise/mount_method/operation_preparers/default_operation_preparer.rb, line 34 def child_class(operation) Class.new(operation) end