This may introduce some confusion as any value other than a string representation of a number is likely going to return 0 by calling the #to_i:

```
"35".to_i   # good
> 35     
```

```
"ab".to_i  # not good
> 0
```

This will cause the next few lines to succeed, with a size of 0 and a per_page of 0, and likely add confusion. I think it should fail loudly. Thoughts?