module GraphQL::Rails::Operations::Callbacks::ClassMethods

Private Instance Methods

insert_callbacks(callbacks, block = nil) { |callback, options| ... } click to toggle source

Normalize the arguments passed during callback registration.

# File lib/graphql/rails/callbacks.rb, line 48
def insert_callbacks(callbacks, block = nil)
  options = callbacks.extract_options!
  normalize_callback_options(options)
  callbacks.push(block) if block
  callbacks.each do |callback|
    yield callback, options
  end
end
normalize_callback_option(options, from, to) click to toggle source

Convert an operation name-based condition into an executable block.

# File lib/graphql/rails/callbacks.rb, line 39
def normalize_callback_option(options, from, to)
  return unless options[from]
  check = -> do
    Array(options[from]).find { |operation| name == operation }
  end
  options[to] = Array(options[to]) + [check]
end
normalize_callback_options(options) click to toggle source

Convert :only and :except options into :if and :unless blocks.

# File lib/graphql/rails/callbacks.rb, line 33
def normalize_callback_options(options)
  normalize_callback_option(options, :only, :if)
  normalize_callback_option(options, :except, :unless)
end