class GraphQL::Types::String

Public Class Methods

coerce_input(value, _ctx) click to toggle source
# File lib/graphql/types/string.rb, line 22
def self.coerce_input(value, _ctx)
  value.is_a?(::String) ? value : nil
end
coerce_result(value, ctx) click to toggle source
# File lib/graphql/types/string.rb, line 8
def self.coerce_result(value, ctx)
  str = value.to_s
  if str.encoding == Encoding::UTF_8
    str
  elsif str.frozen?
    str.encode(Encoding::UTF_8)
  else
    str.encode!(Encoding::UTF_8)
  end
rescue EncodingError
  err = GraphQL::StringEncodingError.new(str, context: ctx)
  ctx.schema.type_error(err, ctx)
end