Skip to content

Instantly share code, notes, and snippets.

@dmonagle
dmonagle / ember_crud.coffee
Last active December 12, 2015 12:39
Ember mixins for CRUD functionality.
Ember.EditController = Ember.Mixin.create(
saveError: false
saveInvalid: false
isEditing: false
# Set associations to be associations of the content. These will then be checked for validity on save
# and all of the flags, such as isDirty and isLoaded, will take these associations into consideration.
#
# Eg: A user may have an address model which is edited within the same transaction.
# In this case you would put:
extension String {
public func splitLastWhitespace(after offset: Int) -> [Substring] {
guard let lastWS = self.prefix(offset).lastIndex(where: \.isWhitespace) else {
return [self[self.startIndex...]]
}
let first = self[self.startIndex..<lastWS]
let nextIndex = self.index(after: lastWS)
guard nextIndex != self.endIndex else { return [first] }
return [first, self[nextIndex...]]
}