2014-02-12 05:23:40 -05:00
|
|
|
define [
|
2014-03-07 06:24:11 -05:00
|
|
|
"libs/md5"
|
2014-02-12 05:23:40 -05:00
|
|
|
"libs/backbone"
|
|
|
|
], () ->
|
2014-03-07 06:24:11 -05:00
|
|
|
User = Backbone.Model.extend {
|
|
|
|
gravatarUrl: (size = 32) ->
|
|
|
|
email = @get("email").trim().toLowerCase()
|
|
|
|
hash = CryptoJS.MD5(email)
|
|
|
|
return "//www.gravatar.com/avatar/#{hash}.jpg?size=#{size}&d=mm"
|
|
|
|
}, {
|
2014-02-12 05:23:40 -05:00
|
|
|
findOrBuild : (id, attributes) ->
|
|
|
|
model = @find id
|
|
|
|
if !model?
|
|
|
|
model = @build id
|
|
|
|
model.set model.parse attributes
|
|
|
|
return model
|
|
|
|
|
|
|
|
build: (id) ->
|
|
|
|
model = new this(id : id)
|
|
|
|
@loadedModel ||= {}
|
|
|
|
@loadedModel[id] = model
|
|
|
|
return model
|
|
|
|
|
|
|
|
find: (id) ->
|
|
|
|
@loadedModel ||= {}
|
|
|
|
return @loadedModel[id]
|
|
|
|
}
|