Sha256: 2b3bd7d046f815b4f4dc756b8c50644fb509cf5e9855a74dd2de63f1c8cf3523

Contents?: true

Size: 787 Bytes

Versions: 5

Compression:

Stored size: 787 Bytes

Contents

require 'active_support/concern'

monkey_patch = Module.new do
  extend ActiveSupport::Concern

  class_methods do
    attr_accessor :filtered_type_expr, :filtered_type_null

    def filtered_type new_type=nil, null: nil
      if new_type
        raise ArgumentError, 'required argument `null:` is missing' if null.nil?

        @filtered_type_expr = new_type
        @filtered_type_null = null
      elsif filtered_type_expr
        GraphQL::Schema::Member::BuildType.parse_type filtered_type_expr, null: filtered_type_null
      elsif type_expr
        GraphQL::Schema::Member::BuildType.parse_type type_expr, null: self.null
      elsif superclass.respond_to? :filtered_type
        superclass.filtered_type
      end
    end
  end
end

GraphQL::Schema::Resolver.prepend monkey_patch

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
graphql-filters-1.0.8 lib/graphql/filters/dsl/graphql/schema/resolver.rb
graphql-filters-1.0.7 lib/graphql/filters/dsl/graphql/schema/resolver.rb
graphql-filters-1.0.6 lib/graphql/filters/dsl/graphql/schema/resolver.rb
graphql-filters-1.0.5 lib/graphql/filters/dsl/graphql/schema/resolver.rb
graphql-filters-1.0.4 lib/graphql/filters/dsl/graphql/schema/resolver.rb