README.md in pretty_file_input-0.0.1 vs README.md in pretty_file_input-0.0.2
- old
+ new
@@ -1,6 +1,71 @@
-pretty_file_input
+pretty_file_input [![version]](http://rubygems.org/gems/pretty_file_input) [![build]](https://travis-ci.org/dobtco/pretty_file_input)
=======
+pretty_file_input is an attempt to standardize the always-problematic file input in our Rails apps.
+
+## Benefits
+
+- Immediate uploads via AJAX for `persisted?` records
+- Upload percentage displayed while uploading
+- Identical user interface (without AJAX uploads) for non-`persisted?` records
+- Use your existing models and controllers, no changes necessary
+
+## Requirements
+
+- [carrierwave](https://github.com/carrierwaveuploader/carrierwave)
+- [simple_form](https://github.com/plataformatec/simple_form) (if using the "Automatic" implementation below)
+- jQuery
+- [jquery.form](https://github.com/malsup/form/)
+
+## Installation
+
+```sh
+# Gemfile
+gem 'dvl-core'
+
+# application.css
+*= require pretty_file_input
+
+# application.js
+//= require pretty_file_input
+```
+
+## Implementation
+
+There are a couple of ways to use this gem:
+
+### Automatic
+
+By taking advantage of the included simple_form input class, you can start using pretty_file_input with as little as one line of code:
+
+```rb
+f.input :avatar, as: :pretty_file_input
+```
+
+The resulting behavior will depend on whether or not the parent object is already persisted in the database.
+
+**For existing records**, pretty_file_input will upload and remove files immediately, displaying some nice UI feedback along the way:
+
+![gif](https://s3.amazonaws.com/quickcast/3785/60141/quickcast.gif)
+
+**For new records**, pretty_file_input will not perform any AJAX requests. (Carrierwave stores files alongside your database records, so it's impossible to upload a file _before_ its associated record has been created.)
+
+### Manual
+
+If your use case doesn't fit the patterns above, you can use the "Manual" integration with pretty_file_input. `PrettyFileInput::Component` is an Erector widget that can be customized with the following options:
+
+```rb
+:name, # input name that will be sent to the server
+persisted: false, # is parent object is not persisted, no AJAX calls will be made
+filename: nil, # pre-populate the filename span
+method: nil, # override the parent form's method
+action: nil, # override the parent form's action
+additional_params: {} # additional parameters to be sent to server with each request
+```
+
## License
[MIT](http://dobtco.mit-license.org/)
+
+[version]: https://img.shields.io/gem/v/pretty_file_input.svg
+[build]: http://img.shields.io/travis/dobtco/pretty_file_input.svg