So my suggestion of do had some value? On Tuesday, September 1, 2015 at 11:44:00 AM UTC-4, Colin Law wrote: > > On 1 September 2015 at 15:54, Stewart Mckinney <lord...@gmail.com > <javascript:>> wrote: > > Like: > > > > before_filter do > > > > result = test? > > > > unless result > > return f1 && ( action_name !="show" || f2 ) > > end > > > > end > > > > That's playing some "ruby golf" , you can pull that apart to make it as > > readable as you want ( honestly I actually perfer 'and' and 'or' but > that > > would result in some more ()s ). > > Yes I see, thanks for the explanation. > > Colin > > > > > On Tue, Sep 1, 2015 at 10:46 AM, Colin Law <cla...@gmail.com > <javascript:>> wrote: > >> > >> On 1 September 2015 at 15:43, Stewart Mckinney <lord...@gmail.com > <javascript:>> > >> wrote: > >> > I don't see any reason why not to wrap something like this in a > >> > before_filter block/lambda. That way you avoid the silly function > name, > >> > and > >> > I wouldn't consider that coupling. > >> > >> I am not entirely sure what you mean, can you show how my code > >> > >> before_filter :f1, unless: :test? > >> before_filter :f2, only: :show, unless: :test? > >> > >> would look in that case please > >> > >> > > >> > Also, Liz, I think he means "record or store the relevant information > in > >> > another format", such if the response was a large object or > collection > >> > and > >> > Colin only needed to know that there were more than ten, Colin might > set > >> > @morethanten to true. > >> > >> Correct > >> > >> Colin > >> > >> > > >> > On Tue, Sep 1, 2015 at 10:29 AM, Elizabeth McGurty <emcg...@gmail.com > <javascript:>> > >> > wrote: > >> >> > >> >> Colin, please show your result.. > >> >> > >> >> On Tuesday, September 1, 2015 at 9:04:59 AM UTC-4, Colin Law wrote: > >> >>> > >> >>> On 1 September 2015 at 13:29, tamouse pontiki <tamous...@gmail.com> > > >> >>> wrote: > >> >>> > > >> >>> > > >> >>> > On Sat, Aug 29, 2015 at 10:26 AM, Colin Law <cla...@gmail.com> > >> >>> > wrote: > >> >>> >> > >> >>> >> On 29 August 2015 at 16:08, tamouse pontiki <tamous...@gmail.com> > > >> >>> >> wrote: > >> >>> >> > can you memoize the result of test? assuming it wouldn't > change > >> >>> >> > between > >> >>> >> > callbacks? otherwise, write one callback and perform all the > >> >>> >> > tests, > >> >>> >> > including the action check for only show inside it? > >> >>> >> > >> >>> >> Yes I could do either of those but neither is aesthetically > >> >>> >> pleasing, > >> >>> >> which is why I wondered whether there was a better solution. > Will > >> >>> >> probably plump for the first as the second filter would have to > be > >> >>> >> called something like > >> >>> >> f1_unless_test_and_f2_if_show_unless_test > >> >>> >> for it to make any sense when read as f1 and f2 are unrelated. > >> >>> > > >> >>> > > >> >>> > I completely agree with the lack of aesthetics. > >> >>> > > >> >>> > Since f1 and f2 are completely unrelated, except for being gated > by > >> >>> > test?, > >> >>> > I'd opt for keeping their invocation separate. Temporal coupling > >> >>> > isn't > >> >>> > useful coupling. > >> >>> > > >> >>> > Sorry, I've got nothing else. :( > >> >>> > >> >>> OK, thanks. I have gone for memorising the intermediate values in > the > >> >>> test filter as I know they are not going to change within a > request. > >> >>> I had hoped there might be some clever way of massaging the > >> >>> before_filter syntax that would provide a solution but I suspect > that > >> >>> is not possible. > >> >>> > >> >>> Cheers > >> >>> > >> >>> Colin > >> >>> > >> >>> > > >> >>> > Tamara > >> >>> > > >> >>> >> > On Sat, Aug 29, 2015 at 9:09 AM, Colin Law <cla...@gmail.com> > >> >>> >> > wrote: > >> >>> >> >> > >> >>> >> >> Is there a more efficient way of coding this? > >> >>> >> >> > >> >>> >> >> before_filter :f1, unless: :test? > >> >>> >> >> before_filter :f2, only: :show, unless: :test? > >> >>> >> >> > >> >>> >> >> I don't want to call test? twice as it is not trivial. > >> >>> >> >> > >> >>> >> >> Colin > >> >>> > > >> >>> > -- > >> >>> > You received this message because you are subscribed to the > Google > >> >>> > Groups > >> >>> > "Ruby on Rails: Talk" group. > >> >>> > To unsubscribe from this group and stop receiving emails from it, > >> >>> > send > >> >>> > an > >> >>> > email to rubyonrails-ta...@googlegroups.com. > >> >>> > To post to this group, send email to rubyonra...@googlegroups.com. > > >> >>> > To view this discussion on the web visit > >> >>> > > >> >>> > > >> >>> > > https://groups.google.com/d/msgid/rubyonrails-talk/CAHUC_t-iRD59RQg9GaMZEpoqHFivKLyTT3sDAZRZeXrTQe%2BBHQ%40mail.gmail.com. > > > >> >>> > > >> >>> > 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: Talk" group. > >> >> To unsubscribe from this group and stop receiving emails from it, > send > >> >> an > >> >> email to rubyonrails-ta...@googlegroups.com <javascript:>. > >> >> To post to this group, send email to rubyonra...@googlegroups.com > <javascript:>. > >> >> To view this discussion on the web visit > >> >> > >> >> > https://groups.google.com/d/msgid/rubyonrails-talk/11e790b5-0c48-47f9-ab64-c03be7a67444%40googlegroups.com. > > > >> >> > >> >> 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: Talk" group. > >> > To unsubscribe from this group and stop receiving emails from it, > send > >> > an > >> > email to rubyonrails-ta...@googlegroups.com <javascript:>. > >> > To post to this group, send email to rubyonra...@googlegroups.com > <javascript:>. > >> > To view this discussion on the web visit > >> > > >> > > https://groups.google.com/d/msgid/rubyonrails-talk/CA%2BCQ934yNkeZif%2B-KP_hfwg1XXewVPWP1UCdbH%2B4jEK7vdwH5g%40mail.gmail.com. > > > >> > > >> > 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: Talk" group. > >> To unsubscribe from this group and stop receiving emails from it, send > an > >> email to rubyonrails-ta...@googlegroups.com <javascript:>. > >> To post to this group, send email to rubyonra...@googlegroups.com > <javascript:>. > >> To view this discussion on the web visit > >> > https://groups.google.com/d/msgid/rubyonrails-talk/CAL%3D0gLuUfZcpZmyuZxaGE%2BsjABtzSx0%3DJNo-wzZpE0U%3Dk2RPbw%40mail.gmail.com. > > > >> 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: Talk" group. > > To unsubscribe from this group and stop receiving emails from it, send > an > > email to rubyonrails-ta...@googlegroups.com <javascript:>. > > To post to this group, send email to rubyonra...@googlegroups.com > <javascript:>. > > To view this discussion on the web visit > > > https://groups.google.com/d/msgid/rubyonrails-talk/CA%2BCQ93613OqnBSM5E24NpJQ5MxknUegq47ruASoZp8E-fSqekg%40mail.gmail.com. > > > > > > 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: Talk" group. To unsubscribe from this group and stop receiving emails from it, send an email to rubyonrails-talk+unsubscr...@googlegroups.com. To post to this group, send email to rubyonrails-talk@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/rubyonrails-talk/764686eb-38e8-4e48-ace5-d3ca38318d9c%40googlegroups.com. For more options, visit https://groups.google.com/d/optout.