IIRC, this was actually a thing in Rails 2 and it got taken out. I agree with you about the convention over configuration idea, but when you only need the one line of code to get it back, and it relieves a maintenance burden and makes things faster, I'd have to side with it not being in core.
That being said, this is one of those things that would be great for a gem to provide automatically (basically on initialize search through for every boolean column and set up scopes). Sounds like a good project if you've got time to take it on. On Thu, Jan 4, 2018 at 9:49 AM, radhames brito <rbri...@gmail.com> wrote: > Hi Leo. > I think it makes more sense to make this an op-in thing like this > > class User < ActiveRecord::Base > > boolean_scope :active > > end > > > And then you have the scope ```User.active```, with the extra option of > doing ```boolean_scope :active, negative: :inactive``` that would create > the scope for the false case. > This of course would raise if there is not column matching the name, since > any more work and is easier to declare the scope. Just my 2 cents. > > > > On Thu, Jan 4, 2018 at 8:53 AM, Kasper Timm Hansen <kas...@gmail.com> > wrote: > >> I don’t think we’d like to autogenerate scopes for your models based on >> the column type, no. >> >> >> You might want to look into using an enum >> <http://edgeapi.rubyonrails.org/classes/ActiveRecord/Enum.html> backed >> by an integer ”status” column instead of the boolean column. >> >> That generates a scope as well as making it really easy to add another >> state, should you need ever need to do so. >> >> Den 4. jan. 2018 kl. 13.16 skrev Léo Santos <aleot...@gmail.com>: >> >> Hi there! >> >> I would like to introduce a feature that can expedite development, which >> by the way I think it's one of the greatest advantages of using Ruby on >> Rails. So, looking to follow the *Convention Over Configuration* >> standard, lets say you have: >> >> >> # a users table >> >> create_table "users", force: true do |t| >> >> t.boolean "active", default: true >> >> end >> >> >> # a User model >> >> class User < ActiveRecord::Base >> end >> >> >> The new feature would automatically add the scope to fetch active users like: >> >> >> >User.active >> >> >> without having to explicitly define it on the model. It is similar to a >> feature that has already been implemented to boolean attributes that allow >> us to do things like: >> >> >user = User.new(active: true) >> >user.active*?* >> #=> true >> >> Do you think it's worthy merging it into Rails core? >> >> Best regards, >> Leonardo Santos >> >> -- >> You received this message because you are subscribed to the Google Groups >> "Ruby on Rails: Core" group. >> To unsubscribe from this group and stop receiving emails from it, send an >> email to rubyonrails-core+unsubscr...@googlegroups.com. >> To post to this group, send email to rubyonrails-core@googlegroups.com. >> Visit this group at https://groups.google.com/group/rubyonrails-core. >> For more options, visit https://groups.google.com/d/optout. >> >> >> -- >> Kasper >> >> -- >> You received this message because you are subscribed to the Google Groups >> "Ruby on Rails: Core" group. >> To unsubscribe from this group and stop receiving emails from it, send an >> email to rubyonrails-core+unsubscr...@googlegroups.com. >> To post to this group, send email to rubyonrails-core@googlegroups.com. >> Visit this group at https://groups.google.com/group/rubyonrails-core. >> For more options, visit https://groups.google.com/d/optout. >> > > -- > You received this message because you are subscribed to the Google Groups > "Ruby on Rails: Core" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to rubyonrails-core+unsubscr...@googlegroups.com. > To post to this group, send email to rubyonrails-core@googlegroups.com. > Visit this group at https://groups.google.com/group/rubyonrails-core. > For more options, visit https://groups.google.com/d/optout. > -- *Kevin D. Deisz* CTO, CultureHQ <http://www.culturehq.net/> -- You received this message because you are subscribed to the Google Groups "Ruby on Rails: Core" group. To unsubscribe from this group and stop receiving emails from it, send an email to rubyonrails-core+unsubscr...@googlegroups.com. To post to this group, send email to rubyonrails-core@googlegroups.com. Visit this group at https://groups.google.com/group/rubyonrails-core. For more options, visit https://groups.google.com/d/optout.