Sha256: 041529b76ad38a7a4b96c738e0eb598710253b2de4c8486643a5afd41bdd4b55
Contents?: true
Size: 818 Bytes
Versions: 27
Compression:
Stored size: 818 Bytes
Contents
class GraphQL::Models::Middleware attr_accessor :skip_nil_models def initialize(skip_nil_models = true) @skip_nil_models = skip_nil_models end def call(graphql_type, object, field_definition, args, context, next_middleware) # If this field defines a path, load the associations in the path field_info = GraphQL::Models.field_info(graphql_type, field_definition.name) return next_middleware.call unless field_info # Convert the core object into the model base_model = field_info.object_to_base_model.call(object) GraphQL::Models.load_association(base_model, field_info.path, context).then do |model| next nil if model.nil? && @skip_nil_models next_args = [graphql_type, model, field_definition, args, context] next_middleware.call(next_args) end end end
Version data entries
27 entries across 27 versions & 1 rubygems