@item_name()\r
\r
get_association: (routes, context, options) ->\r
- console.log 'get_association'\r
routes = [routes] if _.isString(routes)\r
- console.log routes\r
route = routes.shift()\r
if _.isEmpty(routes)\r
# fetching terminate association. callback\r
- console.log 'fetching terminate association'\r
cxt = options.context || context\r
@fetch_association(route, cxt, {\r
success: (association_item, options) =>\r
- console.log 'success'\r
- console.log association_item\r
- console.log options\r
options.success.call(context, association_item)\r
context: context,\r
options: options\r
})\r
else\r
# fetching through associations\r
- console.log 'fetching through associations'\r
@fetch_association(route, this, {\r
success: (association_item, options) =>\r
- console.log 'success'\r
- console.log association_item\r
- console.log options\r
association_item.get_association(routes, this, options)\r
context: context,\r
options: options\r
})\r
\r
fetch_association: (name, context, options) =>\r
- console.log context\r
- console.log options\r
a = @my_class().my_manifest().associations\r
fetch_options = {\r
success: (association_item) =>\r
options.success.call(context, association_item, options.options)\r
}\r
if a.belongs_to[name]\r
- console.log 'belongs_to'\r
- console.log name\r
@get_parent(name, context, fetch_options)\r
else if a.has_many[name]\r
- console.log 'has_many'\r
- console.log name\r
@get_children(name, context, fetch_options)\r
else if a.has_one[name]\r
- console.log 'has_one'\r
- console.log name\r
@get_child(name, context, fetch_options)\r
else\r
console.error('association does not exist in model manifest')\r