types.js 475 B

12345678910111213141516171819
  1. class app.collections.Types extends app.Collection
  2. @model: 'Type'
  3. groups: ->
  4. result = []
  5. for type in @models
  6. (result[@_groupFor(type)] ||= []).push(type)
  7. result.filter (e) -> e.length > 0
  8. GUIDES_RGX = /(^|\()(guides?|tutorials?|reference|book|getting\ started|manual|examples)($|[\):])/i
  9. APPENDIX_RGX = /appendix/i
  10. _groupFor: (type) ->
  11. if GUIDES_RGX.test(type.name)
  12. 0
  13. else if APPENDIX_RGX.test(type.name)
  14. 2
  15. else
  16. 1