Module: AutoGraphQL::TypeBuilder

Extended by:
TypeBuilder
Included in:
TypeBuilder
Defined in:
lib/autographql/type_builder.rb

Instance Method Summary collapse

Instance Method Details

#build(models_and_opts) ⇒ Object



14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
# File 'lib/autographql/type_builder.rb', line 14

def build models_and_opts
  # first build all objects
  type_map = {}

  models_and_opts.each do |model, opts|
    type_map[model] = build_type model, opts
  end

  models_and_opts.each do |model, opts|
    build_type_methods type_map[model], opts[:methods], type_map
  end

  # build relationships between objects
  type_map.each do |model, type|
    relate type, models_and_opts[model][:fields], type_map
  end

  type_map
end