/*
 * call-seq:
 *      rd.size = new_size
 *
 * Increases or decreases the current capacity of our Raindrop.
 * Raises RangeError if +new_size+ is too big or small for the
 * current backing store
 */
static VALUE setsize(VALUE self, VALUE new_size)
{
        size_t new_rd_size = NUM2SIZET(new_size);
        struct raindrops *r = get(self);

        if (new_rd_size <= r->capa)
                r->size = new_rd_size;
        else
                resize(r, new_rd_size);

        return new_size;
}