Ruby on Rails Tuesday, September 1, 2015

On 1 September 2015 at 13:29, tamouse pontiki <tamouse.lists@gmail.com> wrote:
>
>
> On Sat, Aug 29, 2015 at 10:26 AM, Colin Law <clanlaw@gmail.com> wrote:
>>
>> On 29 August 2015 at 16:08, tamouse pontiki <tamouse.lists@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 <clanlaw@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-talk+unsubscribe@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/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+unsubscribe@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/CAL%3D0gLtybUUZ9c1fuu-f%3DVmBVejF4TXu5qmGKf8gwVzg%2BrGnhQ%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.

No comments:

Post a Comment