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).