Reputation: 1811
Having the following domain class:
class Message{
}
Want to get all messages with id
more than offset
:
def offset = params.offset
def messages = Message.list()
def subMessages = messages.findAll({offset, it ->
it.id > offset
}.curry(offset))
What's wrong?
Upd: i understand that Message.list()
can be executed as Message.list(params)
but it's not important now.
Upvotes: 2
Views: 577
Reputation: 41188
def params = [offset: 2]
def messages = [[id: 1], [id: 2], [id: 3], [id: 4], [id: 5]]
def subMessages = messages.findAll({ it.id > params.offset })
assert subMessages == [[id: 3], [id: 4], [id: 5]]
(1..5).each { new Message(text: "${it}").save(failOnError: true) }
def params = [offset: "2"]
def offset = Integer.parseInt(params.offset)
def messages = Message.list()
def subMessages = messages.findAll({ it.id > offset })
assert subMessages == Message.findAllByIdGreaterThan(offset)
Upvotes: 4