Could you explain why you need a user to enter a cron expression?
There are more natural ways in ruby to deal with recurring events - I like ice cube:
If this is about scheduling, there are many options, here is a good place to see them - I like whenever and rufus, depending on what you are doing - the resque scheduler makes alot of sense if you already use resque:
If you just want to deal with cron expressions, rufus-scheduler implements 'cronline', and can not only parse them, but tell you when they will next run:
Cheers,
Andrew Kuklewicz