Method: ActForm::Schema::Base#each

Defined in:
lib/act_form/schema/base.rb

#eachObject

rubocop:disable Metrics/AbcSize



16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
# File 'lib/act_form/schema/base.rb', line 16

def each # rubocop:disable Metrics/AbcSize
  @ins.key_map.each do |key|
    name = key.name.to_sym
    opts = {
      required: @json[:required].include?(key.name)
    }
    opts[:default] = @defaults[name] if @defaults.key?(name)
    t = @json[:properties].dig(name, :type)
    t = if t.is_a?(Array)
          :object
        else
          t ? t.to_sym : :object
        end
    opts[:type] = t
    yield name, opts
  end
end