Module: HQ::GraphQL::Types
- Defined in:
- lib/hq/graphql/types.rb,
lib/hq/graphql/types/uuid.rb,
lib/hq/graphql/types/object.rb
Defined Under Namespace
Classes: Error, Object, UUID
Class Method Summary
collapse
Class Method Details
.[](key, is_nil = false) ⇒ Object
25
26
27
|
# File 'lib/hq/graphql/types.rb', line 25
def self.[](key, is_nil = false)
registry[[key, is_nil]]
end
|
.[]=(key, is_nil = false, value) ⇒ Object
21
22
23
|
# File 'lib/hq/graphql/types.rb', line 21
def self.[]=(key, is_nil = false, value)
registry[[key, is_nil]] = value
end
|
.register(k, v) ⇒ Object
17
18
19
|
# File 'lib/hq/graphql/types.rb', line 17
def self.register(k, v)
self[k] = v
end
|
10
11
12
13
14
15
|
# File 'lib/hq/graphql/types.rb', line 10
def self.registry
@registry ||= Hash.new do |hash, options|
klass, nil_klass = Array(options)
hash[klass] = nil_klass ? nil_query_klass(klass) : klass_for(klass)
end
end
|
Only being used in testing
50
51
52
|
# File 'lib/hq/graphql/types.rb', line 50
def self.reset!
@registry = nil
end
|
.type_from_column(column) ⇒ Object
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
|
# File 'lib/hq/graphql/types.rb', line 29
def self.type_from_column(column)
graphql_type =
case column.type
when :uuid
::HQ::GraphQL::Types::UUID
when :json, :jsonb
::HQ::GraphQL::Types::Object
when :integer
::GraphQL::Types::Int
when :decimal
::GraphQL::Types::Float
when :boolean
::GraphQL::Types::Boolean
else
::GraphQL::Types::String
end
column.array ? [graphql_type] : graphql_type
end
|