travis-web/app/models/commit.coffee
Jonas Weber 9e94643dc4 Calculate actual avatar URL in model
repeated logic for Gravatar fallback
2016-01-04 12:18:01 +01:00

55 lines
1.4 KiB
CoffeeScript

`import Ember from 'ember'`
`import Model from 'travis/models/model'`
`import Build from 'travis/models/build'`
`import { gravatarImage } from 'travis/utils/urls'`
Commit = Model.extend
sha: DS.attr()
branch: DS.attr()
message: DS.attr()
compareUrl: DS.attr()
authorName: DS.attr()
authorEmail: DS.attr()
committerName: DS.attr()
committerEmail: DS.attr()
committedAt: DS.attr()
committerAvatarUrl: DS.attr()
authorAvatarUrl: DS.attr()
build: DS.belongsTo('build')
subject: ( ->
@get('message').split("\n", 1)[0]
).property('message')
body: ( ->
message = @get('message')
if message.indexOf("\n") > 0
message.substr(message.indexOf("\n") + 1).trim()
else
""
).property('message')
authorIsCommitter: ( ->
@get('authorName') == @get('committerName') and
@get('authorEmail') == @get('committerEmail')
).property('authorName', 'authorEmail', 'committerName', 'committerEmail')
authorAvatarUrlOrGravatar: (->
if url = @get('authorAvatarUrl')
url
else
email = @get('authorEmail')
gravatarImage(email, 40)
).property('authorEmail', 'authorAvatarUrl')
committerAvatarUrlOrGravatar: (->
if url = @get('committerAvatarUrl')
url
else
email = @get('committerEmail')
gravatarImage(email, 40)
).property('committerEmail', 'committerAvatarUrl')
`export default Commit`