At which point you're get stuck?
Simply GET index page, parse it via nokogiri, select <a> tags which you interested in, extract urls from href attribute, do recursive GET on these urls.
Each page type should have its own function that performs GET and parsing.
If you have to fetch pretty huge amount of pages, then you need to store your grabbing state somewhere in database. For example, keep separate table for urls to be parsed. (url is a unique key), and mark rows a "to be parsed" and "already parsed". Of course you need to normalize all urls, not avoid duplicates in table.
Да и мог бы спросить в ror2ru.