So my suggestion of do had some value?

On Tuesday, September 1, 2015 at 11:44:00 AM UTC-4, Colin Law wrote:
>
> On 1 September 2015 at 15:54, Stewart Mckinney <lord...@gmail.com 
> <javascript:>> 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 <cla...@gmail.com 
> <javascript:>> wrote: 
> >> 
> >> On 1 September 2015 at 15:43, Stewart Mckinney <lord...@gmail.com 
> <javascript:>> 
> >> 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 <emcg...@gmail.com 
> <javascript:>> 
> >> > 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-ta...@googlegroups.com <javascript:>. 
> >> >> To post to this group, send email to rubyonra...@googlegroups.com 
> <javascript:>. 
> >> >> 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-ta...@googlegroups.com <javascript:>. 
> >> > To post to this group, send email to rubyonra...@googlegroups.com 
> <javascript:>. 
> >> > 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-ta...@googlegroups.com <javascript:>. 
> >> To post to this group, send email to rubyonra...@googlegroups.com 
> <javascript:>. 
> >> 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-ta...@googlegroups.com <javascript:>. 
> > To post to this group, send email to rubyonra...@googlegroups.com 
> <javascript:>. 
> > 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+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/764686eb-38e8-4e48-ace5-d3ca38318d9c%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to