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

Version Path
graphql-activerecord-0.9.0 lib/graphql/models/middleware.rb
graphql-activerecord-0.8.0 lib/graphql/models/middleware.rb
graphql-activerecord-0.7.3 lib/graphql/models/middleware.rb
graphql-activerecord-0.7.2 lib/graphql/models/middleware.rb
graphql-activerecord-0.8.0.pre.alpha1 lib/graphql/models/middleware.rb
graphql-activerecord-0.7.1 lib/graphql/models/middleware.rb
graphql-activerecord-0.7.0 lib/graphql/models/middleware.rb
graphql-activerecord-0.6.7 lib/graphql/models/middleware.rb
graphql-activerecord-0.6.6 lib/graphql/models/middleware.rb
graphql-activerecord-0.6.5 lib/graphql/models/middleware.rb
graphql-activerecord-0.6.4 lib/graphql/models/middleware.rb
graphql-activerecord-0.6.3 lib/graphql/models/middleware.rb
graphql-activerecord-0.6.2 lib/graphql/models/middleware.rb
graphql-activerecord-0.6.1 lib/graphql/models/middleware.rb
graphql-activerecord-0.6.0 lib/graphql/models/middleware.rb
graphql-activerecord-0.5.6 lib/graphql/models/middleware.rb
graphql-activerecord-0.5.5 lib/graphql/models/middleware.rb
graphql-activerecord-0.5.4 lib/graphql/models/middleware.rb
graphql-activerecord-0.5.3 lib/graphql/models/middleware.rb
graphql-activerecord-0.5.2 lib/graphql/models/middleware.rb