graphql 1.13.24 → 2.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of graphql might be problematic. Click here for more details.
- checksums.yaml +4 -4
- data/lib/graphql/analysis/ast/query_complexity.rb +1 -1
- data/lib/graphql/analysis/ast/query_depth.rb +0 -1
- data/lib/graphql/analysis/ast/visitor.rb +1 -1
- data/lib/graphql/analysis/ast.rb +0 -10
- data/lib/graphql/analysis.rb +0 -7
- data/lib/graphql/backtrace/table.rb +0 -18
- data/lib/graphql/backtrace/tracer.rb +1 -2
- data/lib/graphql/backtrace.rb +2 -8
- data/lib/graphql/dig.rb +1 -1
- data/lib/graphql/execution/errors.rb +1 -9
- data/lib/graphql/execution/interpreter/runtime.rb +6 -13
- data/lib/graphql/execution/interpreter.rb +0 -22
- data/lib/graphql/execution/lazy.rb +1 -1
- data/lib/graphql/execution/lookahead.rb +6 -13
- data/lib/graphql/execution/multiplex.rb +50 -107
- data/lib/graphql/execution.rb +11 -3
- data/lib/graphql/introspection/directive_type.rb +2 -2
- data/lib/graphql/introspection/dynamic_fields.rb +3 -8
- data/lib/graphql/introspection/entry_points.rb +2 -15
- data/lib/graphql/introspection/field_type.rb +1 -1
- data/lib/graphql/introspection/schema_type.rb +2 -2
- data/lib/graphql/introspection/type_type.rb +5 -5
- data/lib/graphql/language/document_from_schema_definition.rb +0 -17
- data/lib/graphql/language/nodes.rb +0 -3
- data/lib/graphql/pagination/connections.rb +2 -28
- data/lib/graphql/query/context.rb +1 -185
- data/lib/graphql/query/input_validation_result.rb +0 -9
- data/lib/graphql/query/literal_input.rb +8 -13
- data/lib/graphql/query/validation_pipeline.rb +6 -34
- data/lib/graphql/query/variable_validation_error.rb +2 -2
- data/lib/graphql/query/variables.rb +8 -31
- data/lib/graphql/query.rb +5 -34
- data/lib/graphql/railtie.rb +0 -104
- data/lib/graphql/relay/range_add.rb +0 -4
- data/lib/graphql/relay.rb +0 -15
- data/lib/graphql/schema/addition.rb +1 -8
- data/lib/graphql/schema/argument.rb +6 -28
- data/lib/graphql/schema/build_from_definition.rb +7 -9
- data/lib/graphql/schema/directive.rb +1 -22
- data/lib/graphql/schema/enum.rb +3 -19
- data/lib/graphql/schema/enum_value.rb +1 -23
- data/lib/graphql/schema/field.rb +22 -221
- data/lib/graphql/schema/input_object.rb +17 -65
- data/lib/graphql/schema/interface.rb +1 -30
- data/lib/graphql/schema/introspection_system.rb +3 -8
- data/lib/graphql/schema/late_bound_type.rb +2 -2
- data/lib/graphql/schema/list.rb +3 -24
- data/lib/graphql/schema/loader.rb +0 -1
- data/lib/graphql/schema/member/base_dsl_methods.rb +1 -6
- data/lib/graphql/schema/member/build_type.rb +4 -6
- data/lib/graphql/schema/member/has_arguments.rb +16 -20
- data/lib/graphql/schema/member/has_fields.rb +3 -3
- data/lib/graphql/schema/member/has_interfaces.rb +1 -13
- data/lib/graphql/schema/member/validates_input.rb +2 -2
- data/lib/graphql/schema/member.rb +0 -6
- data/lib/graphql/schema/mutation.rb +0 -9
- data/lib/graphql/schema/non_null.rb +3 -9
- data/lib/graphql/schema/object.rb +0 -40
- data/lib/graphql/schema/relay_classic_mutation.rb +17 -28
- data/lib/graphql/schema/scalar.rb +1 -16
- data/lib/graphql/schema/union.rb +0 -16
- data/lib/graphql/schema/warden.rb +3 -12
- data/lib/graphql/schema/wrapper.rb +0 -5
- data/lib/graphql/schema.rb +106 -945
- data/lib/graphql/static_validation/base_visitor.rb +4 -21
- data/lib/graphql/static_validation/rules/directives_are_in_valid_locations.rb +12 -12
- data/lib/graphql/static_validation/validator.rb +2 -24
- data/lib/graphql/static_validation.rb +0 -2
- data/lib/graphql/subscriptions/default_subscription_resolve_extension.rb +38 -1
- data/lib/graphql/subscriptions/event.rb +1 -1
- data/lib/graphql/subscriptions/instrumentation.rb +0 -51
- data/lib/graphql/subscriptions.rb +4 -13
- data/lib/graphql/tracing/data_dog_tracing.rb +16 -20
- data/lib/graphql/tracing/platform_tracing.rb +4 -32
- data/lib/graphql/tracing.rb +0 -1
- data/lib/graphql/types/relay/connection_behaviors.rb +2 -6
- data/lib/graphql/types/relay/default_relay.rb +0 -10
- data/lib/graphql/types/relay/node_behaviors.rb +5 -1
- data/lib/graphql/types/relay.rb +0 -2
- data/lib/graphql/types/string.rb +1 -1
- data/lib/graphql/version.rb +1 -1
- data/lib/graphql.rb +1 -66
- metadata +28 -164
- data/lib/graphql/analysis/analyze_query.rb +0 -98
- data/lib/graphql/analysis/field_usage.rb +0 -45
- data/lib/graphql/analysis/max_query_complexity.rb +0 -26
- data/lib/graphql/analysis/max_query_depth.rb +0 -26
- data/lib/graphql/analysis/query_complexity.rb +0 -88
- data/lib/graphql/analysis/query_depth.rb +0 -43
- data/lib/graphql/analysis/reducer_state.rb +0 -48
- data/lib/graphql/argument.rb +0 -131
- data/lib/graphql/authorization.rb +0 -82
- data/lib/graphql/backtrace/legacy_tracer.rb +0 -56
- data/lib/graphql/backwards_compatibility.rb +0 -61
- data/lib/graphql/base_type.rb +0 -232
- data/lib/graphql/boolean_type.rb +0 -2
- data/lib/graphql/compatibility/execution_specification/counter_schema.rb +0 -53
- data/lib/graphql/compatibility/execution_specification/specification_schema.rb +0 -200
- data/lib/graphql/compatibility/execution_specification.rb +0 -436
- data/lib/graphql/compatibility/lazy_execution_specification/lazy_schema.rb +0 -111
- data/lib/graphql/compatibility/lazy_execution_specification.rb +0 -215
- data/lib/graphql/compatibility/query_parser_specification/parse_error_specification.rb +0 -87
- data/lib/graphql/compatibility/query_parser_specification/query_assertions.rb +0 -79
- data/lib/graphql/compatibility/query_parser_specification.rb +0 -266
- data/lib/graphql/compatibility/schema_parser_specification.rb +0 -682
- data/lib/graphql/compatibility.rb +0 -5
- data/lib/graphql/define/assign_argument.rb +0 -12
- data/lib/graphql/define/assign_connection.rb +0 -13
- data/lib/graphql/define/assign_enum_value.rb +0 -18
- data/lib/graphql/define/assign_global_id_field.rb +0 -11
- data/lib/graphql/define/assign_mutation_function.rb +0 -34
- data/lib/graphql/define/assign_object_field.rb +0 -42
- data/lib/graphql/define/defined_object_proxy.rb +0 -53
- data/lib/graphql/define/instance_definable.rb +0 -255
- data/lib/graphql/define/no_definition_error.rb +0 -7
- data/lib/graphql/define/non_null_with_bang.rb +0 -16
- data/lib/graphql/define/type_definer.rb +0 -31
- data/lib/graphql/define.rb +0 -31
- data/lib/graphql/deprecated_dsl.rb +0 -55
- data/lib/graphql/directive/deprecated_directive.rb +0 -2
- data/lib/graphql/directive/include_directive.rb +0 -2
- data/lib/graphql/directive/skip_directive.rb +0 -2
- data/lib/graphql/directive.rb +0 -107
- data/lib/graphql/enum_type.rb +0 -133
- data/lib/graphql/execution/execute.rb +0 -333
- data/lib/graphql/execution/flatten.rb +0 -40
- data/lib/graphql/execution/typecast.rb +0 -50
- data/lib/graphql/field/resolve.rb +0 -59
- data/lib/graphql/field.rb +0 -226
- data/lib/graphql/float_type.rb +0 -2
- data/lib/graphql/function.rb +0 -128
- data/lib/graphql/id_type.rb +0 -2
- data/lib/graphql/input_object_type.rb +0 -138
- data/lib/graphql/int_type.rb +0 -2
- data/lib/graphql/interface_type.rb +0 -72
- data/lib/graphql/internal_representation/document.rb +0 -27
- data/lib/graphql/internal_representation/node.rb +0 -206
- data/lib/graphql/internal_representation/print.rb +0 -51
- data/lib/graphql/internal_representation/rewrite.rb +0 -184
- data/lib/graphql/internal_representation/scope.rb +0 -88
- data/lib/graphql/internal_representation/visit.rb +0 -36
- data/lib/graphql/internal_representation.rb +0 -7
- data/lib/graphql/list_type.rb +0 -80
- data/lib/graphql/non_null_type.rb +0 -71
- data/lib/graphql/object_type.rb +0 -130
- data/lib/graphql/query/arguments.rb +0 -189
- data/lib/graphql/query/arguments_cache.rb +0 -24
- data/lib/graphql/query/executor.rb +0 -52
- data/lib/graphql/query/serial_execution/field_resolution.rb +0 -92
- data/lib/graphql/query/serial_execution/operation_resolution.rb +0 -19
- data/lib/graphql/query/serial_execution/selection_resolution.rb +0 -23
- data/lib/graphql/query/serial_execution/value_resolution.rb +0 -87
- data/lib/graphql/query/serial_execution.rb +0 -40
- data/lib/graphql/relay/array_connection.rb +0 -83
- data/lib/graphql/relay/base_connection.rb +0 -189
- data/lib/graphql/relay/connection_instrumentation.rb +0 -54
- data/lib/graphql/relay/connection_resolve.rb +0 -43
- data/lib/graphql/relay/connection_type.rb +0 -54
- data/lib/graphql/relay/edge.rb +0 -27
- data/lib/graphql/relay/edge_type.rb +0 -19
- data/lib/graphql/relay/edges_instrumentation.rb +0 -39
- data/lib/graphql/relay/global_id_resolve.rb +0 -17
- data/lib/graphql/relay/mongo_relation_connection.rb +0 -50
- data/lib/graphql/relay/mutation/instrumentation.rb +0 -23
- data/lib/graphql/relay/mutation/resolve.rb +0 -56
- data/lib/graphql/relay/mutation/result.rb +0 -38
- data/lib/graphql/relay/mutation.rb +0 -106
- data/lib/graphql/relay/node.rb +0 -39
- data/lib/graphql/relay/page_info.rb +0 -7
- data/lib/graphql/relay/relation_connection.rb +0 -188
- data/lib/graphql/relay/type_extensions.rb +0 -32
- data/lib/graphql/scalar_type.rb +0 -91
- data/lib/graphql/schema/catchall_middleware.rb +0 -35
- data/lib/graphql/schema/default_parse_error.rb +0 -10
- data/lib/graphql/schema/default_type_error.rb +0 -17
- data/lib/graphql/schema/member/accepts_definition.rb +0 -164
- data/lib/graphql/schema/member/cached_graphql_definition.rb +0 -58
- data/lib/graphql/schema/member/instrumentation.rb +0 -131
- data/lib/graphql/schema/middleware_chain.rb +0 -82
- data/lib/graphql/schema/possible_types.rb +0 -44
- data/lib/graphql/schema/rescue_middleware.rb +0 -60
- data/lib/graphql/schema/timeout_middleware.rb +0 -88
- data/lib/graphql/schema/traversal.rb +0 -228
- data/lib/graphql/schema/validation.rb +0 -313
- data/lib/graphql/static_validation/default_visitor.rb +0 -15
- data/lib/graphql/static_validation/no_validate_visitor.rb +0 -10
- data/lib/graphql/string_type.rb +0 -2
- data/lib/graphql/subscriptions/subscription_root.rb +0 -76
- data/lib/graphql/tracing/skylight_tracing.rb +0 -70
- data/lib/graphql/types/relay/node_field.rb +0 -24
- data/lib/graphql/types/relay/nodes_field.rb +0 -43
- data/lib/graphql/union_type.rb +0 -115
- data/lib/graphql/upgrader/member.rb +0 -937
- data/lib/graphql/upgrader/schema.rb +0 -38
@@ -1,70 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
module GraphQL
|
4
|
-
module Tracing
|
5
|
-
class SkylightTracing < PlatformTracing
|
6
|
-
self.platform_keys = {
|
7
|
-
"lex" => "graphql.language",
|
8
|
-
"parse" => "graphql.language",
|
9
|
-
"validate" => "graphql.prepare",
|
10
|
-
"analyze_query" => "graphql.prepare",
|
11
|
-
"analyze_multiplex" => "graphql.prepare",
|
12
|
-
"execute_multiplex" => "graphql.execute",
|
13
|
-
"execute_query" => "graphql.execute",
|
14
|
-
"execute_query_lazy" => "graphql.execute",
|
15
|
-
}
|
16
|
-
|
17
|
-
# @param set_endpoint_name [Boolean] If true, the GraphQL operation name will be used as the endpoint name.
|
18
|
-
# This is not advised if you run more than one query per HTTP request, for example, with `graphql-client` or multiplexing.
|
19
|
-
# It can also be specified per-query with `context[:set_skylight_endpoint_name]`.
|
20
|
-
def initialize(options = {})
|
21
|
-
GraphQL::Deprecation.warn("GraphQL::Tracing::SkylightTracing is deprecated and will be removed in GraphQL-Ruby 2.0, please enable Skylight's GraphQL probe instead: https://www.skylight.io/support/getting-more-from-skylight#graphql.")
|
22
|
-
@set_endpoint_name = options.fetch(:set_endpoint_name, false)
|
23
|
-
super
|
24
|
-
end
|
25
|
-
|
26
|
-
def platform_trace(platform_key, key, data)
|
27
|
-
if key == "execute_query"
|
28
|
-
query = data[:query]
|
29
|
-
title = query.selected_operation_name || "<anonymous>"
|
30
|
-
category = platform_key
|
31
|
-
set_endpoint_name_override = query.context[:set_skylight_endpoint_name]
|
32
|
-
if set_endpoint_name_override == true || (set_endpoint_name_override.nil? && @set_endpoint_name)
|
33
|
-
# Assign the endpoint so that queries will be grouped
|
34
|
-
instrumenter = Skylight.instrumenter
|
35
|
-
if instrumenter
|
36
|
-
current_trace = instrumenter.current_trace
|
37
|
-
if current_trace
|
38
|
-
op_type = query.selected_operation ? query.selected_operation.operation_type : "query"
|
39
|
-
endpoint = "GraphQL/#{op_type}.#{title}"
|
40
|
-
current_trace.endpoint = endpoint
|
41
|
-
end
|
42
|
-
end
|
43
|
-
end
|
44
|
-
elsif key.start_with?("execute_field")
|
45
|
-
title = platform_key
|
46
|
-
category = key
|
47
|
-
else
|
48
|
-
title = key
|
49
|
-
category = platform_key
|
50
|
-
end
|
51
|
-
|
52
|
-
Skylight.instrument(category: category, title: title) do
|
53
|
-
yield
|
54
|
-
end
|
55
|
-
end
|
56
|
-
|
57
|
-
def platform_field_key(type, field)
|
58
|
-
"graphql.#{type.graphql_name}.#{field.graphql_name}"
|
59
|
-
end
|
60
|
-
|
61
|
-
def platform_authorized_key(type)
|
62
|
-
"graphql.authorized.#{type.graphql_name}"
|
63
|
-
end
|
64
|
-
|
65
|
-
def platform_resolve_type_key(type)
|
66
|
-
"graphql.resolve_type.#{type.graphql_name}"
|
67
|
-
end
|
68
|
-
end
|
69
|
-
end
|
70
|
-
end
|
@@ -1,24 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
module GraphQL
|
3
|
-
module Types
|
4
|
-
module Relay
|
5
|
-
# Don't use this field directly, instead, use one of these approaches:
|
6
|
-
#
|
7
|
-
# @example Adding this field directly
|
8
|
-
# include GraphQL::Types::Relay::HasNodeField
|
9
|
-
#
|
10
|
-
# @example Implementing a similar field in your own Query root
|
11
|
-
#
|
12
|
-
# field :node, GraphQL::Types::Relay::Node, null: true,
|
13
|
-
# description: "Fetches an object given its ID" do
|
14
|
-
# argument :id, ID, required: true
|
15
|
-
# end
|
16
|
-
#
|
17
|
-
# def node(id:)
|
18
|
-
# context.schema.object_from_id(id, context)
|
19
|
-
# end
|
20
|
-
#
|
21
|
-
DeprecatedNodeField = GraphQL::Schema::Field.new(owner: nil, **HasNodeField.field_options, &HasNodeField.field_block)
|
22
|
-
end
|
23
|
-
end
|
24
|
-
end
|
@@ -1,43 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
module GraphQL
|
3
|
-
module Types
|
4
|
-
module Relay
|
5
|
-
# Don't use this directly, instead, use one of these:
|
6
|
-
#
|
7
|
-
# @example Adding this field directly
|
8
|
-
# include GraphQL::Types::Relay::HasNodesField
|
9
|
-
#
|
10
|
-
# @example Implementing a similar field in your own Query root
|
11
|
-
#
|
12
|
-
# field :nodes, [GraphQL::Types::Relay::Node, null: true], null: false,
|
13
|
-
# description: Fetches a list of objects given a list of IDs." do
|
14
|
-
# argument :ids, [ID], required: true
|
15
|
-
# end
|
16
|
-
#
|
17
|
-
# def nodes(ids:)
|
18
|
-
# ids.map do |id|
|
19
|
-
# context.schema.object_from_id(context, id)
|
20
|
-
# end
|
21
|
-
# end
|
22
|
-
#
|
23
|
-
def self.const_missing(const_name)
|
24
|
-
if const_name == :NodesField
|
25
|
-
message = "NodesField is deprecated, use `include GraphQL::Types::Relay::HasNodesField` instead."
|
26
|
-
message += "\n(referenced from #{caller(1, 1).first})"
|
27
|
-
GraphQL::Deprecation.warn(message)
|
28
|
-
|
29
|
-
DeprecatedNodesField
|
30
|
-
elsif const_name == :NodeField
|
31
|
-
message = "NodeField is deprecated, use `include GraphQL::Types::Relay::HasNodeField` instead."
|
32
|
-
message += "\n(referenced from #{caller(1, 1).first})"
|
33
|
-
GraphQL::Deprecation.warn(message)
|
34
|
-
|
35
|
-
DeprecatedNodeField
|
36
|
-
else
|
37
|
-
super
|
38
|
-
end
|
39
|
-
end
|
40
|
-
DeprecatedNodesField = GraphQL::Schema::Field.new(owner: nil, **HasNodesField.field_options, &HasNodesField.field_block)
|
41
|
-
end
|
42
|
-
end
|
43
|
-
end
|
data/lib/graphql/union_type.rb
DELETED
@@ -1,115 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
module GraphQL
|
3
|
-
# @api deprecated
|
4
|
-
class UnionType < GraphQL::BaseType
|
5
|
-
extend Define::InstanceDefinable::DeprecatedDefine
|
6
|
-
|
7
|
-
# Rubocop was unhappy about the syntax when this was a proc literal
|
8
|
-
class AcceptPossibleTypesDefinition
|
9
|
-
def self.call(target, possible_types, options = {})
|
10
|
-
target.add_possible_types(possible_types, **options)
|
11
|
-
end
|
12
|
-
end
|
13
|
-
|
14
|
-
deprecated_accepts_definitions :resolve_type, :type_membership_class,
|
15
|
-
possible_types: AcceptPossibleTypesDefinition
|
16
|
-
ensure_defined :possible_types, :resolve_type, :resolve_type_proc, :type_membership_class
|
17
|
-
|
18
|
-
attr_accessor :resolve_type_proc
|
19
|
-
attr_reader :type_memberships
|
20
|
-
attr_accessor :type_membership_class
|
21
|
-
|
22
|
-
def initialize
|
23
|
-
super
|
24
|
-
@type_membership_class = GraphQL::Schema::TypeMembership
|
25
|
-
@type_memberships = []
|
26
|
-
@cached_possible_types = nil
|
27
|
-
@resolve_type_proc = nil
|
28
|
-
end
|
29
|
-
|
30
|
-
def initialize_copy(other)
|
31
|
-
super
|
32
|
-
@type_membership_class = other.type_membership_class
|
33
|
-
@type_memberships = other.type_memberships.dup
|
34
|
-
@cached_possible_types = nil
|
35
|
-
end
|
36
|
-
|
37
|
-
def kind
|
38
|
-
GraphQL::TypeKinds::UNION
|
39
|
-
end
|
40
|
-
|
41
|
-
# @return [Boolean] True if `child_type_defn` is a member of this {UnionType}
|
42
|
-
def include?(child_type_defn, ctx = GraphQL::Query::NullContext)
|
43
|
-
possible_types(ctx).include?(child_type_defn)
|
44
|
-
end
|
45
|
-
|
46
|
-
# @return [Array<GraphQL::ObjectType>] Types which may be found in this union
|
47
|
-
def possible_types(ctx = GraphQL::Query::NullContext)
|
48
|
-
if ctx == GraphQL::Query::NullContext
|
49
|
-
# Only cache the default case; if we cached for every `ctx`, it would be a memory leak
|
50
|
-
# (The warden should cache calls to this method, so it's called only once per query,
|
51
|
-
# unless user code calls it directly.)
|
52
|
-
@cached_possible_types ||= possible_types_for_context(ctx)
|
53
|
-
else
|
54
|
-
possible_types_for_context(ctx)
|
55
|
-
end
|
56
|
-
end
|
57
|
-
|
58
|
-
def possible_types=(types)
|
59
|
-
# This is a re-assignment, so clear the previous values
|
60
|
-
@type_memberships = []
|
61
|
-
@cached_possible_types = nil
|
62
|
-
add_possible_types(types, **{})
|
63
|
-
end
|
64
|
-
|
65
|
-
def add_possible_types(types, **options)
|
66
|
-
@type_memberships ||= []
|
67
|
-
Array(types).each { |t|
|
68
|
-
@type_memberships << self.type_membership_class.new(self, t, **options)
|
69
|
-
}
|
70
|
-
nil
|
71
|
-
end
|
72
|
-
|
73
|
-
# Get a possible type of this {UnionType} by type name
|
74
|
-
# @param type_name [String]
|
75
|
-
# @param ctx [GraphQL::Query::Context] The context for the current query
|
76
|
-
# @return [GraphQL::ObjectType, nil] The type named `type_name` if it exists and is a member of this {UnionType}, (else `nil`)
|
77
|
-
def get_possible_type(type_name, ctx)
|
78
|
-
type = ctx.query.get_type(type_name)
|
79
|
-
type if type && ctx.query.warden.possible_types(self).include?(type)
|
80
|
-
end
|
81
|
-
|
82
|
-
# Check if a type is a possible type of this {UnionType}
|
83
|
-
# @param type [String, GraphQL::BaseType] Name of the type or a type definition
|
84
|
-
# @param ctx [GraphQL::Query::Context] The context for the current query
|
85
|
-
# @return [Boolean] True if the `type` exists and is a member of this {UnionType}, (else `nil`)
|
86
|
-
def possible_type?(type, ctx)
|
87
|
-
type_name = type.is_a?(String) ? type : type.graphql_name
|
88
|
-
!get_possible_type(type_name, ctx).nil?
|
89
|
-
end
|
90
|
-
|
91
|
-
def resolve_type(value, ctx)
|
92
|
-
ctx.query.resolve_type(self, value)
|
93
|
-
end
|
94
|
-
|
95
|
-
def resolve_type=(new_resolve_type_proc)
|
96
|
-
@resolve_type_proc = new_resolve_type_proc
|
97
|
-
end
|
98
|
-
|
99
|
-
def type_memberships=(type_memberships)
|
100
|
-
@type_memberships = type_memberships
|
101
|
-
end
|
102
|
-
|
103
|
-
private
|
104
|
-
|
105
|
-
def possible_types_for_context(ctx)
|
106
|
-
visible_types = []
|
107
|
-
@type_memberships.each do |type_membership|
|
108
|
-
if type_membership.visible?(ctx)
|
109
|
-
visible_types << BaseType.resolve_related_type(type_membership.object_type)
|
110
|
-
end
|
111
|
-
end
|
112
|
-
visible_types
|
113
|
-
end
|
114
|
-
end
|
115
|
-
end
|