if my_settings\r
attr[manifest.settings_column_name] = my_settings.to_json\r
\r
+ @retrieve: (id, context, options = {}) ->\r
+ item = new this({id: id})\r
+ item.retrieve(context, options)\r
+ \r
#InstanceMethods\r
\r
default_url: () ->\r
else\r
@item_name()\r
\r
+ get_parent: (belongs_to_name, context, options = null) ->\r
+ m = Manifest.item_name_to_model(belongs_to_name)\r
+ retriever = new Pettanr.Cache.Retriever(m, @get(belongs_to_name + '_id'))\r
+ return retriever if !options\r
+ @listenTo(retriever, 'retrieve', (item) =>\r
+ options.success.call(context, item)\r
+ )\r
+ retriever.retrieve()\r
+ \r
has_many: (has_many_name) ->\r
has_many_manifest = @my_class().my_manifest().associations.has_many[has_many_name]\r
action_name = has_many_manifest.list_action_name\r
retriever: () ->\r
new Pettanr.Cache.Retriever(@my_class(), @get('id'))\r
\r
+ retrieve: (context, options = {}) ->\r
+ retriever = new Pettanr.Cache.Retriever(@my_class(), @get('id'))\r
+ @listenTo(retriever, 'retrieve', (item) =>\r
+ callback = options.success\r
+ callback.call(context, item)\r
+ )\r
+ retriever.retrieve(options.force)\r
+ \r
@pick_item_name: () ->\r
null\r
\r