Created
March 3, 2010 01:30
-
-
Save hoffrocket/320200 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import _root_.net.liftweb.mapper._ | |
trait HasCreatedMetaMapper[T <: HasCreated[T]] { | |
self: T with LongKeyedMetaMapper[T] => | |
import java.util.Date | |
def findByCreated(startDate:Date, endDate:Date) = findAll(By_>(created_at, startDate), By_<(created_at, endDate)) | |
def findByCreatedSince(startDate: Date) = findAll(By_>(created_at, startDate)) | |
} | |
trait HasCreated [T <: HasCreated[T]] extends KeyedMapper[Long, T] { | |
self: T => | |
object created_at extends MappedTimestamp(this) | |
class MappedTimestamp[T<:Mapper[T]](override val fieldOwner: T) extends MappedDateTime[T](fieldOwner) { | |
override def dbDisplay_? = false | |
override def writePermission_? = false | |
override def defaultValue = new java.util.Date(); | |
def _secureUpdate() = { | |
i_set_!(new java.util.Date()) | |
} | |
} | |
} | |
trait TimeStamped [T <: TimeStamped[T]] extends HasCreated[T]{ | |
self: T => | |
object updated_at extends MappedTimestamp(this) | |
override def save():Boolean = { | |
if (dirty_?) | |
updated_at._secureUpdate | |
super.save() | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment