Method: Forcast::Controller::Definitor#all_definitions

Defined in:
lib/forcast/controllers/controller/definitor/definitor.rb

#all_definitions(name_controller = nil) ⇒ Object



42
43
44
45
46
47
48
49
50
51
# File 'lib/forcast/controllers/controller/definitor/definitor.rb', line 42

def all_definitions(name_controller = nil)
  name_controller = controller_name if name_controller.nil?
  model = name_controller.classify.constantize
  attrs = model.attribute_names.map { |n| [n.to_sym, model.type_for_attribute(n).type] }.to_h
  model.reflect_on_all_associations(:belongs_to).each do |relation|
    relation = relation.name.to_s + '_id'
    attrs[relation.to_sym] = 'relation'
  end
  attrs
end