diff options
| author | mo <mokha@cisco.com> | 2017-09-02 14:48:43 -0600 |
|---|---|---|
| committer | mo <mokha@cisco.com> | 2017-09-02 14:48:43 -0600 |
| commit | b8dfe131c6c5fe9d0e5b4ee2d271feeb5d411502 (patch) | |
| tree | 05b475a8b6442e2a43d9529c42362a3460df7d13 /app/assets/javascripts/models/tutorials.js.coffee | |
| parent | bba21d02643d632fee5fa4bdbc876d44832ccf4b (diff) | |
promote backbone subdirectory up to root.
Diffstat (limited to 'app/assets/javascripts/models/tutorials.js.coffee')
| -rw-r--r-- | app/assets/javascripts/models/tutorials.js.coffee | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/app/assets/javascripts/models/tutorials.js.coffee b/app/assets/javascripts/models/tutorials.js.coffee new file mode 100644 index 00000000..9e2e8a1f --- /dev/null +++ b/app/assets/javascripts/models/tutorials.js.coffee @@ -0,0 +1,24 @@ +class CakeSide.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 + +class CakeSide.Collections.TutorialsCollection extends Backbone.Collection + model: CakeSide.Models.Tutorial + url: '/api/v1/tutorials' |
