Module: ZodRails::ModelResolver

Defined in:
lib/zod_rails/model_resolver.rb,
sig/zod_rails.rbs

Class Method Summary collapse

Class Method Details

.resolve(names) ⇒ Hash[Symbol, Array[untyped]]

Parameters:

  • (Array[String])

Returns:

  • (Hash[Symbol, Array[untyped]])


5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
# File 'lib/zod_rails/model_resolver.rb', line 5

def self.resolve(names)
  resolved = []
  missing = []
  invalid = []

  names.each do |name|
    model = resolve_constant(name)
    if active_record_model?(model)
      resolved << model
    else
      invalid << name
    end
  rescue NameError => e
    raise unless missing_constant?(e, name)

    missing << name
  end

  { resolved: resolved, missing: missing, invalid: invalid }
end