Method: Engine2::TypeInfo#decode

Defined in:
lib/engine2/type_info.rb

#decode(name, dinfo = {form: {scaffold: true}, search: {scaffold: true}}) ⇒ Object



345
346
347
348
349
350
351
352
353
# File 'lib/engine2/type_info.rb', line 345

def decode name, dinfo = {form: {scaffold: true}, search: {scaffold: true}}
    modify_field name do |info|
        raise E2Error.new("Field type of '#{name}' in model '#{@model}' needs to be 'many_to_one'") unless info[:type] == :many_to_one
        dec = info[:decode] ||= {}
        dec[:search].clear if dinfo[:search] && dec[:search]
        dec[:form].clear if dinfo[:form] && dec[:form]
        info[:decode].rmerge!(dinfo)
    end
end