https://github.com/jun0kada/activerecord-preload_block
https://github.com/jun0kada/activerecord-preload_block
activerecord rails ruby
Last synced: 5 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/jun0kada/activerecord-preload_block
- Owner: Jun0kada
- License: mit
- Created: 2019-03-01T12:51:59.000Z (over 7 years ago)
- Default Branch: master
- Last Pushed: 2019-03-05T09:31:07.000Z (over 7 years ago)
- Last Synced: 2025-07-27T09:40:51.262Z (11 months ago)
- Topics: activerecord, rails, ruby
- Language: Ruby
- Size: 15.6 KB
- Stars: 1
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE.txt
- Code of conduct: CODE_OF_CONDUCT.md
Awesome Lists containing this project
README
# Activerecord::PreloadBlock
[](https://travis-ci.org/Jun0kada/activerecord-preload_block)
## Installation
Add this line to your application's Gemfile:
```ruby
gem 'activerecord-preload_block'
```
And then execute:
$ bundle
Or install it yourself as:
$ gem install activerecord-preload_block
## Usage
```ruby
# eq: User.all.preload(:comments, :posts)
User.all.preload do |records|
preload records, :comments
preload records, :posts
end
# filter preload owner
User.all.preload do |records|
preload records.select(&:hoge?), :comments
end
# filter preload associations records
User.all.preload do |records|
preload records, :comments, Comment.where(hoge: 'foo')
end
# with arguments
User.all.preload(:posts) do |records|
preload records, :comments
end
```
[gem 'activerecord-records_on_load'](https://github.com/Jun0kada/activerecord-records_on_load)
is also helpful for customizing AR records loaded hook
## Contributing
Bug reports and pull requests are welcome on GitHub at https://github.com/[USERNAME]/activerecord-preload_block. 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::PreloadBlock project’s codebases, issue trackers, chat rooms and mailing lists is expected to follow the [code of conduct](https://github.com/[USERNAME]/activerecord-preload_block/blob/master/CODE_OF_CONDUCT.md).