4
5
6
7
8
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/default_form/active_record/extend.rb', line 4
def input_attributes_by_model
cols = {}
attributes_by_model.each do |name, column|
r = {}
r.merge! column.slice(:type, :subtype, :outer)
r.merge! input_type: column[:raw_type]
if r[:type].respond_to? :input_type
r.merge! input_type: r[:type].input_type
end
case r[:type].class.name
when 'ActiveRecord::Enum::EnumType'
r.merge! input_type: :enum
r.merge! mapping: r[:type].send(:mapping)
end
if inheritance_column.to_s == name
r.merge! input_type: :enum
end
r.merge! DefaultForm.config.mapping.fetch(r[:input_type], {})
cols.merge! name => r
end
cols
end
|