class ActiveForce::Association::Association
Attributes
options[RW]
relation_name[RW]
Public Class Methods
new(parent, relation_name, options = {})
click to toggle source
# File lib/active_force/association/association.rb, line 9 def initialize parent, relation_name, options = {} @parent = parent @relation_name = relation_name @options = options define_relation_method end
Public Instance Methods
foreign_key()
click to toggle source
# File lib/active_force/association/association.rb, line 20 def foreign_key options[:foreign_key] || default_foreign_key end
relation_model()
click to toggle source
# File lib/active_force/association/association.rb, line 16 def relation_model options[:model] || relation_name.to_s.singularize.camelcase.constantize end
relationship_name()
click to toggle source
# File lib/active_force/association/association.rb, line 24 def relationship_name options[:relationship_name] || relation_model.table_name end
represents_sfdc_table?(sfdc_table_name)
click to toggle source
Does this association's relation_model
represent sfdc_table_name
? Examples of sfdc_table_name
could be 'Quota__r' or 'Account'.
# File lib/active_force/association/association.rb, line 32 def represents_sfdc_table?(sfdc_table_name) name = sfdc_table_name.sub(/__r\z/, '').singularize relationship_name.sub(/__c\z|__r\z/, '') == name end
sfdc_association_field()
click to toggle source
# File lib/active_force/association/association.rb, line 37 def sfdc_association_field relationship_name.gsub /__c\z/, '__r' end
Private Instance Methods
infer_foreign_key_from_model(model)
click to toggle source
# File lib/active_force/association/association.rb, line 43 def infer_foreign_key_from_model(model) name = model.custom_table? ? model.name : model.table_name name.foreign_key.to_sym end