Module: Ooor::FieldMethods::ClassMethods

Defined in:
lib/ooor/field_methods.rb

Instance Method Summary collapse

Instance Method Details

#all_fieldsObject



22
23
24
# File 'lib/ooor/field_methods.rb', line 22

def all_fields
  fields.merge(polymorphic_m2o_associations).merge(many2many_associations).merge(one2many_associations).merge(many2one_associations)
end

#fast_fields(options = {}) ⇒ Object



26
27
28
29
30
31
# File 'lib/ooor/field_methods.rb', line 26

def fast_fields(options={})
  fields = all_fields
  fields.keys.select do |k|
    fields[k]["type"] != "binary" && (options[:include_functions] || !fields[k]["function"])
  end
end

#reload_fields_definition(force = false) ⇒ Object



9
10
11
12
13
14
15
16
17
18
19
20
# File 'lib/ooor/field_methods.rb', line 9

def reload_fields_definition(force=false)
  if force || !fields
    @t.fields = {}
    @columns_hash = {}
    fields_get = rpc_execute("fields_get", false, context)
    fields_get.each { |k, field| reload_field_definition(k, field) }
    @t.associations_keys = many2one_associations.keys + one2many_associations.keys + many2many_associations.keys + polymorphic_m2o_associations.keys
    logger.debug "#{fields.size} fields loaded in model #{self.name}"
    Ooor.model_registry.set_template(session.config, @t)
  end
  generate_accessors if fields != {} && (force || !@accessor_defined) #TODOmove in define_accessors method
end