9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
|
# File 'lib/graphoid/definitions/sorter.rb', line 9
def generate(model)
LIST[model] ||= GraphQL::InputObjectType.define do
name("#{Utils.graphqlize(model.name)}Sorter")
description("Generated model Sorter for #{model.name}")
Attribute.fields_of(model).each do |field|
name = Utils.camelize(field.name)
argument(name, Sorter.enum_type)
end
Relation.relations_of(model).each do |name, relation|
relation_class = relation.class_name.safe_constantize
next unless relation_class
relation_order = LIST[relation_class]
next unless relation_order
relation_name = Utils.camelize(name)
argument(relation_name, relation_order)
end
end
end
|