ActiveRecord::Deselect
Adds deselect logic to ActiveRecord.
Installation
Add this line to your application's Gemfile:
gem 'active_record-deselect'
And then execute:
$ bundle
Or install it yourself as:
$ gem install active_record-deselect
Usage
4.0.2 @ 2.0.0 (main)>Post
#=> class Post < ActiveRecord::Base {
:id => :integer,
:name => :string,
:body => :text,
:user_id => :integer,
:published_at => :datetime,
:created_at => :datetime,
:updated_at => :datetime
}
4.0.2 @ 2.0.0 (main)>Post.deselect(:body).to_sql
#=> "SELECT id, name, user_id, published_at, created_at, updated_at FROM \"posts\""
4.0.2 @ 2.0.0 (main)>Post.select(:id, :name, :body, :user_id).deselect(:body, "user_id").to_sql
#=> "SELECT id, name FROM \"posts\""
4.0.2 @ 2.0.0 (main)>Post.select('posts.id', 'posts.name').deselect(:name).to_sql
#=> "SELECT posts.id FROM \"posts\""
4.0.2 @ 2.0.0 (main)>Post.select(:id).deselect(:id).to_sql
#=> "SELECT \"posts\".* FROM \"posts\""
deselect!
posts = Post.select(:id, :name)
posts.deselect!(:name)
posts.to_sql
#=> "SELECT id FROM \"posts\""
Contributing
- Fork it
- Create your feature branch (
git checkout -b my-new-feature
) - Commit your changes (
git commit -am 'Add some feature'
) - Push to the branch (
git push origin my-new-feature
) - Create new Pull Request