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.
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. On Tue, Sep 1, 2015 at 10:29 AM, Elizabeth McGurty <emcgur...@gmail.com> 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-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/11e790b5-0c48-47f9-ab64-c03be7a67444%40googlegroups.com > <https://groups.google.com/d/msgid/rubyonrails-talk/11e790b5-0c48-47f9-ab64-c03be7a67444%40googlegroups.com?utm_medium=email&utm_source=footer> > . > > 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/CA%2BCQ934yNkeZif%2B-KP_hfwg1XXewVPWP1UCdbH%2B4jEK7vdwH5g%40mail.gmail.com. For more options, visit https://groups.google.com/d/optout.