Send record to buildURL method when it's available
For some cases (like coming env vars) we will need to also pass a repository id to the URL, so I'm passing it from createRecord and other methods which handle records.
This commit is contained in:
parent
05489d4a0a
commit
bcf5ac50c5
|
@ -1,3 +1,5 @@
|
||||||
|
get = Ember.get
|
||||||
|
|
||||||
Travis.Adapter = Ember.RESTAdapter.extend
|
Travis.Adapter = Ember.RESTAdapter.extend
|
||||||
ajax: (url, params, method) ->
|
ajax: (url, params, method) ->
|
||||||
Travis.ajax.ajax(url, method || 'get', data: params)
|
Travis.ajax.ajax(url, method || 'get', data: params)
|
||||||
|
@ -17,7 +19,7 @@ Travis.Adapter = Ember.RESTAdapter.extend
|
||||||
records.load(klass, dataToLoad)
|
records.load(klass, dataToLoad)
|
||||||
@addToRecordArrays(records.get('content'))
|
@addToRecordArrays(records.get('content'))
|
||||||
|
|
||||||
buildURL: ->
|
buildURL: (klass, id, record) ->
|
||||||
@_super.apply(this, arguments).replace(/\.json$/, '')
|
@_super.apply(this, arguments).replace(/\.json$/, '')
|
||||||
|
|
||||||
didFind: (record, id, data) ->
|
didFind: (record, id, data) ->
|
||||||
|
@ -55,7 +57,6 @@ Travis.Adapter = Ember.RESTAdapter.extend
|
||||||
for record in records
|
for record in records
|
||||||
record.constructor.addToRecordArrays(record)
|
record.constructor.addToRecordArrays(record)
|
||||||
|
|
||||||
|
|
||||||
sideload: (klass, data) ->
|
sideload: (klass, data) ->
|
||||||
for name, records of data
|
for name, records of data
|
||||||
records = [records] unless Ember.isArray(records)
|
records = [records] unless Ember.isArray(records)
|
||||||
|
@ -66,4 +67,24 @@ Travis.Adapter = Ember.RESTAdapter.extend
|
||||||
record = type.findFromCacheOrLoad(record)
|
record = type.findFromCacheOrLoad(record)
|
||||||
@addToRecordArrays(record)
|
@addToRecordArrays(record)
|
||||||
|
|
||||||
|
find: (record, id) ->
|
||||||
|
url = @buildURL(record.constructor, id, record)
|
||||||
|
self = this
|
||||||
|
@ajax(url).then (data) ->
|
||||||
|
self.didFind record, id, data
|
||||||
|
record
|
||||||
|
|
||||||
|
createRecord: (record) ->
|
||||||
|
url = @buildURL(record.constructor, undefined, record)
|
||||||
|
self = this
|
||||||
|
@ajax(url, record.toJSON(), "POST").then (data) ->
|
||||||
|
self.didCreateRecord record, data
|
||||||
|
record
|
||||||
|
|
||||||
|
deleteRecord: (record) ->
|
||||||
|
primaryKey = get(record.constructor, "primaryKey")
|
||||||
|
url = @buildURL(record.constructor, get(record, primaryKey), record)
|
||||||
|
self = this
|
||||||
|
@ajax(url, record.toJSON(), "DELETE").then (data) -> # TODO: Some APIs may or may not return data
|
||||||
|
self.didDeleteRecord record, data
|
||||||
|
return
|
||||||
|
|
Loading…
Reference in New Issue
Block a user