summaryrefslogtreecommitdiff
path: root/app/assets/javascripts/models/tutorials.js.coffee
blob: 74ec84655726b7a6f782dc675ce3b9a927117f85 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
class csx.Models.Tutorial extends Backbone.Model
  paramRoot: 'tutorial'

  defaults:
    id: null
    url: null
    image_url: null
    heading: null
    description: null

  validate: (attributes, options) ->
    return "Invalid Url." unless @isValidUrl(attributes.url || '')
    return "This tutorial has no photos." unless @hasImage(attributes.image_url)

  isValidUrl: (url) ->
    expression = /[-a-zA-Z0-9@:%_\+.~#?&//=]{2,256}\.[a-z]{2,4}\b(\/[-a-zA-Z0-9@:%_\+.~#?&//=]*)?/gi;
    url.match(new RegExp(expression))

  hasImage: (image_url) ->
    image_url