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.

Reply via email to