115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
|
# File 'lib/engine2/model.rb', line 115
def find_type_info name
model = self
info = case name
when Symbol
model.type_info[name]
when Sequel::SQL::QualifiedIdentifier
assoc = model.many_to_one_associations[name.table] || model.many_to_many_associations[name.table]
raise E2Error.new("Association #{name.table} not found for model #{model}") unless assoc
assoc.associated_class.type_info[name.column]
else
raise E2Error.new("Unknown type info key: #{name} in model #{model}")
end
raise E2Error.new("Type info not found for '#{name}' in model '#{model}'") unless info
info
end
|