Class: GraphQL::GraphQLField
Overview
Constant Summary
collapse
- DEFAULT_RESOLVE =
lambda { |name|
lambda { |object|
object.public_send(name)
}
}
Instance Method Summary
collapse
configuration, configure_with, #initialize, #method_missing, new
Instance Method Details
#arg(name) ⇒ Object
41
42
43
|
# File 'lib/graphql/type/field.rb', line 41
def arg(name)
arg_map(name.to_sym)
end
|
#arg_map ⇒ Object
29
30
31
|
# File 'lib/graphql/type/field.rb', line 29
def arg_map
@arg_map ||= @configuration.args.reduce({}) { |memo, arg| memo[arg.name.to_sym] = arg ; memo }
end
|
#arg_names ⇒ Object
33
34
35
|
# File 'lib/graphql/type/field.rb', line 33
def arg_names
@arg_names ||= arg_map.keys
end
|
#args ⇒ Object
37
38
39
|
# File 'lib/graphql/type/field.rb', line 37
def args
@args ||= arg_map.values
end
|
#resolve ⇒ Object
45
46
47
|
# File 'lib/graphql/type/field.rb', line 45
def resolve
@resolve ||= @configuration.resolve || DEFAULT_RESOLVE.call(name)
end
|
#type ⇒ Object
25
26
27
|
# File 'lib/graphql/type/field.rb', line 25
def type
@type ||= @configuration.type.is_a?(Proc) ? @configuration.type.call : @configuration.type
end
|