lib/graphql/schema/argument.rb in graphql-1.8.0.pre6 vs lib/graphql/schema/argument.rb in graphql-1.8.0.pre7
- old
+ new
@@ -6,20 +6,28 @@
NO_DEFAULT = :__no_default__
attr_reader :name
- def initialize(arg_name, type_expr, desc = nil, required:, default_value: NO_DEFAULT)
+ # @param arg_name [Symbol]
+ # @param type_expr
+ # @param desc [String]
+ # @param required [Boolean] if true, this argument is non-null; if false, this argument is nullable
+ # @param description [String]
+ # @param default_value [Object]
+ # @param camelize [Boolean] if true, the name will be camelized when building the schema
+ def initialize(arg_name, type_expr, desc = nil, required:, description: nil, default_value: NO_DEFAULT, camelize: true)
@name = arg_name.to_s
@type_expr = type_expr
- @description = desc
+ @description = desc || description
@null = !required
@default_value = default_value
+ @camelize = camelize
end
def to_graphql
argument = GraphQL::Argument.new
- argument.name = Member::BuildType.camelize(@name)
+ argument.name = @camelize ? Member::BuildType.camelize(@name) : @name
argument.type = -> {
Member::BuildType.parse_type(@type_expr, null: @null)
}
argument.description = @description
if NO_DEFAULT != @default_value