Module: SugarCRM::AssociationMethods

Defined in:
lib/sugarcrm/association_methods.rb

Instance Method Summary collapse

Instance Method Details

Returns an array of the module link fields



4
5
6
# File 'lib/sugarcrm/association_methods.rb', line 4

def associations_from_module_link_fields
  self.class._module.link_fields.keys
end

#define_association_methodsObject

Generates the association proxy methods for related modules



9
10
11
12
13
14
15
16
17
18
19
20
21
22
# File 'lib/sugarcrm/association_methods.rb', line 9

def define_association_methods
  return if association_methods_generated?
  @associations.each do |k|
    self.class.module_eval %Q?
    def #{k}
      query_association :#{k}
    end
    def #{k}=(value)
      update_association :#{k},value
    end
    ?
  end
  self.class.association_methods_generated = true
end

#query_association(association) ⇒ Object

{"name"=>"email_addresses",
 "module"=>"EmailAddress",
 "bean_name"=>"EmailAddress",
 "relationship"=>"users_email_addresses",
 "type"=>"link",


32
33
34
35
36
37
38
39
# File 'lib/sugarcrm/association_methods.rb', line 32

def query_association(association)
  klass = self.class._module.link_fields[association.to_s]["module"]
  objects = SugarCRM.connection.get_relationships(
    self.class._module.name,
    self.id,
    association.to_s
  )
end

#update_association(association, value) ⇒ Object



41
42
43
# File 'lib/sugarcrm/association_methods.rb', line 41

def update_association(association, value)
  false
end