Ruby on Rails Tuesday, September 1, 2015

On 1 September 2015 at 15:54, Stewart Mckinney <lordmaple@gmail.com> 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 <clanlaw@gmail.com> wrote:
>>
>> On 1 September 2015 at 15:43, Stewart Mckinney <lordmaple@gmail.com>
>> 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 <emcgurty2@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+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/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-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/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-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%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-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/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+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%3D0gLt0m2agm8HLO2FZM0PHOAoc55%3D6o1hCUvMgNYu8p7C%3DPQ%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.

No comments:

Post a Comment