From ae3f4d4c5563cfa72129f2e01fd398566e5b66bd Mon Sep 17 00:00:00 2001 From: Andrey Novikov Date: Thu, 12 Jul 2018 20:12:31 +0300 Subject: [PATCH] Add instance methods preload and preload_scope to field --- lib/graphql/preload.rb | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) diff --git a/lib/graphql/preload.rb b/lib/graphql/preload.rb index d08d634..42bc36e 100644 --- a/lib/graphql/preload.rb +++ b/lib/graphql/preload.rb @@ -17,14 +17,18 @@ def enable_preloading module FieldMetadata def initialize(*args, preload: nil, preload_scope: nil, **kwargs, &block) - if preload - @preload ||= [] - @preload.concat Array.wrap preload - end - if preload_scope - @preload_scope = preload_scope - end super(*args, **kwargs, &block) + self.preload(preload) if preload + self.preload_scope(preload_scope) if preload_scope + end + + def preload(associations) + @preload ||= [] + @preload.concat Array.wrap associations + end + + def preload_scope(scope_proc) + @preload_scope = scope_proc end def to_graphql