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.

Reply via email to