An uploader is a class that allows you to easily handle the caching and storage of uploaded files. Please refer to the README for configuration options.
Once you have an uploader you can use it in isolation:
my_uploader = MyUploader.new
my_uploader.cache!(File.open(path_to_file))
my_uploader.retrieve_from_store!('monkey.png')
Alternatively, you can mount it on an ORM or other persistence layer, with +CarrierWave::Mount#mount_uploader+. There are extensions for activerecord and datamapper these are very simple (they are only a dozen lines of code), so adding your own should be trivial.