Skip to content

Instantly share code, notes, and snippets.

@leadVisionary
Created March 2, 2012 02:36
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save leadVisionary/1955115 to your computer and use it in GitHub Desktop.
Save leadVisionary/1955115 to your computer and use it in GitHub Desktop.
Conflict arises from refactoring
package com.visionarysoftwaresolutions
//Refactored
class DatastoreService {
def parseService
public Zapper createUser(String email){
parseService.createUser(email)
}
public ZapCard createCard(Zapper owner, String name, String phoneNumber){
parseService.createCard(owner,name,phoneNumber)
}
void collectRemoteData() {
parseService.retrieveUsersFromParse()
parseService.retrieveCardsFromParse()
}
void exchangeCards(Zapper sender, ZapCard zappCard, Zapper recipient){
parseService.exchange(sender, zappCard, recipient)
}
}
package com.visionarysoftwaresolutions
abstract class ParseEntity {
String parseObjectId
static constraints = {
parseObjectId blank : false, unique : true
}
}
package com.visionarysoftwaresolutions
class ZapCard extends ParseEntity {
String name
String phoneNumber
static belongsTo = [ owner : Zapper ]
static constraints = {
name blank:false, unique:true
phoneNumber matches:/^[01]?\s*[\(\.-]?(\d{3})[\)\.-]?\s*(\d{3})[\.-](\d{4})$/
}
}
package com.visionarysoftwaresolutions
class Zapper extends ParseEntity {
String email
static hasMany = [ cards: ZapCard ]
static constraints = {
email blank : false, unique : true, email : true
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment