Sha256: 84feba61132aa9e7e76d6003b727cabda2582fb7e5d33126858ad9c23479f741
Contents?: true
Size: 1.22 KB
Versions: 4
Compression:
Stored size: 1.22 KB
Contents
module GraphQL module Models module DatabaseTypes TypeStruct = Struct.new(:input, :output) def self.registered_type(database_type) @registered_types ||= {}.with_indifferent_access result = @registered_types[database_type] return nil if result.nil? if !result.input.is_a?(GraphQL::BaseType) || !result.output.is_a?(GraphQL::BaseType) input = result.input output = result.output input = input.call if input.is_a?(Proc) output = output.call if output.is_a?(Proc) input = input.constantize if input.is_a?(String) output = output.constantize if output.is_a?(String) TypeStruct.new(input, output) else result end end def self.register(database_type, output_type, input_type = output_type) @registered_types ||= {}.with_indifferent_access @registered_types[database_type] = TypeStruct.new(input_type, output_type) end end DatabaseTypes.register(:boolean, GraphQL::BOOLEAN_TYPE) DatabaseTypes.register(:integer, GraphQL::INT_TYPE) DatabaseTypes.register(:float, GraphQL::FLOAT_TYPE) DatabaseTypes.register(:string, GraphQL::STRING_TYPE) end end
Version data entries
4 entries across 4 versions & 1 rubygems