On 1 September 2015 at 13:29, tamouse pontiki <[email protected]> wrote: > > > On Sat, Aug 29, 2015 at 10:26 AM, Colin Law <[email protected]> wrote: >> >> On 29 August 2015 at 16:08, tamouse pontiki <[email protected]> >> 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 <[email protected]> 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 [email protected]. > To post to this group, send email to [email protected]. > 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 [email protected]. To post to this group, send email to [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/rubyonrails-talk/CAL%3D0gLtybUUZ9c1fuu-f%3DVmBVejF4TXu5qmGKf8gwVzg%2BrGnhQ%40mail.gmail.com. For more options, visit https://groups.google.com/d/optout.

