def relative(options)
assert_kind_of 'options', options, Hash
options = options.dup
repository = options.delete(:repository) || self.repository
if repository.kind_of?(Symbol)
repository = DataMapper.repository(repository)
end
if options.key?(:offset) && (options.key?(:limit) || self.limit)
offset = options.delete(:offset)
limit = options.delete(:limit) || self.limit - offset
self.class.new(repository, model, @options.merge(options)).slice!(offset, limit)
else
self.class.new(repository, model, @options.merge(options))
end
end