An open API service indexing awesome lists of open source software.

https://github.com/jun0kada/activerecord-records_on_load


https://github.com/jun0kada/activerecord-records_on_load

activerecord rails ruby

Last synced: about 1 month ago
JSON representation

Awesome Lists containing this project

README

          

# Activerecord::RecordsOnLoad
[![Build Status](https://travis-ci.org/Jun0kada/activerecord-records_on_load.svg?branch=master)](https://travis-ci.org/Jun0kada/activerecord-records_on_load)

## Installation

Add this line to your application's Gemfile:

```ruby
gem 'activerecord-records_on_load'
```

And then execute:

$ bundle

Or install it yourself as:

$ gem install activerecord-records_on_load

## Usage

```ruby
User.all.on_load do |records|
puts "User #{records.size} records just loaded!"
end

User.all.on_load do |records|
ActiveRecord::Associations::Preloader.new.preload(
records.select(&:admin?),
:role
)
end
```

[gem 'activerecord-preload_block'](https://github.com/Jun0kada/activerecord-preload_block)
is also helpful for customizing preload

## Contributing

Bug reports and pull requests are welcome on GitHub at https://github.com/[USERNAME]/activerecord-records_on_load. This project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to the [Contributor Covenant](http://contributor-covenant.org) code of conduct.

## License

The gem is available as open source under the terms of the [MIT License](https://opensource.org/licenses/MIT).

## Code of Conduct

Everyone interacting in the Activerecord::RecordsOnLoad project’s codebases, issue trackers, chat rooms and mailing lists is expected to follow the [code of conduct](https://github.com/[USERNAME]/activerecord-records_on_load/blob/master/CODE_OF_CONDUCT.md).