README.md in approval-0.1.0 vs README.md in approval-0.2.0
- old
+ new
@@ -1,39 +1,61 @@
# Approval
-Welcome to your new gem! In this directory, you'll find the files you need to be able to package up your Ruby library into a gem. Put your Ruby code in the file `lib/approval`. To experiment with that code, run `bin/console` for an interactive prompt.
+:ok_woman::no_good:Approval workflow for Rails
-TODO: Delete this and the text above, and describe your gem
-
## Installation
-Add this line to your application's Gemfile:
-
```ruby
gem 'approval'
```
-And then execute:
+Optionally, you can run the generator, which will set up approval models with some useful defaults for you:
- $ bundle
+```bash
+$ bin/rails g approval:install
+```
-Or install it yourself as:
+## Usage
- $ gem install approval
+### Prepare
-## Usage
+Call `acts_as_approval_user` in your resource of user model (`User`, `AdminUser`, `Member` etc):
-TODO: Write usage instructions here
+```ruby
+class User
+ acts_as_approval_user
+end
+```
-## Development
+Call `acts_as_approval_resource` in your resource:
-After checking out the repo, run `bin/setup` to install dependencies. Then, run `rake spec` to run the tests. You can also run `bin/console` for an interactive prompt that will allow you to experiment.
+```ruby
+class Book < ApplicationRecord
+ acts_as_approval_resource
+end
+```
-To install this gem onto your local machine, run `bundle exec rake install`. To release a new version, update the version number in `version.rb`, and then run `bundle exec rake release`, which will create a git tag for the version, push git commits and tags, and push the `.gem` file to [rubygems.org](https://rubygems.org).
+### Request
-## Contributing
+```ruby
+staff = User.find_or_create_by(email: "staff@example.com")
+book = 10.times.map { |n| Book.new(name: "my_book_#{n}") }
+request = staff.request_for_create(records, reason: "something")
+request.save!
+```
-Bug reports and pull requests are welcome on GitHub at https://github.com/yhirano55/approval.
+You send request, but resources aren't created.
+
+### Respond
+
+```ruby
+admin = User.find_or_create_by(email: "admin@example.com")
+request = Approval::Request.first
+respond = admin.approve_request(request, reason: "something")
+respond.save!
+```
+
+Then resources are created, if respond user have approved the request.
## License
The gem is available as open source under the terms of the [MIT License](http://opensource.org/licenses/MIT).