I like the proposal too. I'd say submit the small PR and then you'll get discussion on it and a decision anyway (particularly as you've already prepared it)
*Andy Jeffries* Ruby on Rails, RubyMotion, jQuery Developer & Taekwondo 6th Dan Instructor andyjeffries.co.uk +44 7939 164853 @andyjeffries <http://twitter.com/andyjeffries> fb.com/andyjeffries <http://facebook.com/andyjeffries> On 3 July 2014 23:07, David Rueck <[email protected]> wrote: > Thanks for chiming in, John. Do you think it's worth submitting my small > PR at this point, or would it be better to try to get more input here first? > > -David > > > On Thursday, July 3, 2014 2:57:39 PM UTC-7, John Mileham wrote: > >> Agreed it's a super minor issue, but I personally like David's proposal. >> It seems like ruby's Object#freeze is a strong analog and precedent for >> returning the mutated object and enabling a fluent interface. It doesn't >> look like there was an explicit decision behind the current behavior, it's >> just the natural result of the current one-line implementation >> <https://github.com/rails/rails/blob/f625b6879df4d8710c0226007dc0929ed98355d2/activerecord/lib/active_record/core.rb#L408> >> . >> >> -john >> >> >> On Thu, Jul 3, 2014 at 5:06 PM, David Rueck <[email protected]> wrote: >> >>> Ah, thanks for the reminder about using tap! >>> >>> I'm still curious, though, if it would be a better API to return self or >>> if there is a reason/precedent not to. I thought maybe command query >>> separation was the reason, but it seems like enabling a fluent syntax by >>> returning self is a good exception to that principle. For example, the bang >>> methods on String return the string if successful, which is very convenient. >>> >>> It's not a big deal, obviously, as tap works fine, but I'm just curious. >>> Thanks so much for taking the time to respond! >>> >>> -David >>> >>> >>> On Wednesday, July 2, 2014 10:49:29 PM UTC-7, Geoffrey Roguelon wrote: >>> >>>> Hi, >>>> >>>> Maybe, can you use the method #tap? >>>> >>>> model = Model.new(attrs).tap(&:readonly!) >>>> >>>> Best regards. >>>> >>>> ----- >>>> Geoffrey Roguelon >>>> >>>> Le 3 juil. 2014 à 02:10, David Rueck <[email protected]> a écrit : >>>> >>>> I was wondering if it would make sense to return self from the >>>> readonly! method of an ActiveRecord model? I found myself wanting to >>>> create a list of read only instances and it seemed unnecessarily verbose to >>>> do >>>> >>>> model = Model.new(attrs) >>>> model.readonly! >>>> model >>>> >>>> for each of them instead of just >>>> >>>> Model.new(attrs).readonly! >>>> >>>> I've got the super small patch prepared, but I wanted to run it by some >>>> folks before adding it to the rather large list of pull requests! >>>> >>>> Thanks, >>>> >>>> -David >>>> >>>> -- >>>> 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 [email protected]. >>>> To post to this group, send email to [email protected]. >>>> >>>> Visit this group at http://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 [email protected]. >>> To post to this group, send email to [email protected]. >>> Visit this group at http://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 [email protected]. > To post to this group, send email to [email protected]. > Visit this group at http://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 [email protected]. To post to this group, send email to [email protected]. Visit this group at http://groups.google.com/group/rubyonrails-core. For more options, visit https://groups.google.com/d/optout.
