class Perkins.Models.Profile extends Backbone.Model

url: ()->
  "/me"

class Perkins.Models.Repo extends Backbone.Model

url: ()->
  if @.get('name')
    "/repos/#{@.get('name')}.json"
  else
    "/repos.json"

class Perkins.Collections.Repos extends Backbone.Collection

model: Perkins.Models.Repo
url: ->
  "/repos.json"

class Perkins.Models.BuildReport extends Backbone.Model

initialize: (opts={})->
  @repo = opts.repo

url: ->
  "/repos/#{@repo.get('name')}/builds/#{@id}.json"

restart: ->
  @fetch(url: @url() + "/restart.json")

isStopped: ->
  @get('build_status') is "stopped"

isStarted: ->
  @get('build_status') is "started"

class Perkins.Collections.BuildReports extends Backbone.Collection

model: Perkins.Models.BuildReport

initialize: (opts={})->
  @repo = opts.repo

url: ->
  "/repos/#{@repo.get('name')}/builds.json"

class Perkins.Models.RepoHook extends Backbone.Model

initialize: (opts={})->
  @repo = opts.repo

url: ->
  "/repos/#{@repo.get('name')}/config.json"

class Perkins.Models.Org extends Backbone.Model

url: ->
  "/orgs/#{@.get('name')}.json"

class Perkins.Collections.Orgs extends Backbone.Collection

model: Perkins.Models.Org
url: ->
  "/orgs.json"