overleaf/services/web/public/coffee/models/User.coffee

28 lines
587 B
CoffeeScript
Raw Normal View History

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]
}