Interesting. That's a pretty cool. Never seen it done like that before. Looking forward to the change.
On Nov 17, 7:14 am, Pat Allan <[email protected]> wrote: > Hmm… curiouser and curiouser. > > In my rewrite of TS, I've not used FauxColumn, but instead am creating a > Module on the fly (the given block is the module's definition) and extending > the current instance with that. I've read that the performance is a little > better, and it feels a little more elegant (never a fan of *_eval), albeit on > the far side of metaprogramming. > > https://github.com/freelancing-god/thinking-sphinx/blob/edge/lib/thin... > > If you want to try something like that instead? I could try changing the > internals of the master/rails3 branches, but given it's night time here it > won't be until tomorrow at the earliest. > > -- > Pat > > On 17/11/2011, at 9:50 PM, Ngan wrote: > > > > > > > > > It prints FauxColumn. > > > Doesn't that mean that instance_eval has fallen through to method > > missing? > > Im going to try to isolate the blankslate issue today. Will let you > > know. > > > On Nov 17, 2:25 am, Pat Allan <[email protected]> wrote: > >> It's actually Builder 2.1.2 or better that TS expects… so there shouldn't > >> be a version conflict happening. > > >> So if instance_eval can't be revealed, then I guess it's not being removed > >> by BlankSlate. Which then doesn't explain why things aren't working. > > >> Just to double-check - does this raise the expected error, or does it > >> print out a FauxColumn: > >> puts self.instance_eval > > >> -- > >> Pat > > >> On 17/11/2011, at 1:06 AM, Ngan wrote: > > >>> Not sure if this helps, but I have confirmed that the BlankSlate being > >>> used in TS is the one from Rails (which is builder-2.1.2 for my > >>> version of Rails), instead of the builder-3.0 that is specified ini > >>> the gemspec. > > >>> On Nov 16, 9:33 am, Ngan <[email protected]> wrote: > >>>> Also, I'm on Rails 2.3.2, which I found includes its own version of > >>>> builder and therefore BlankSlate. After doing some puts, I found that > >>>> the blankslate builded with rails is the one that gets evaluated, and > >>>> the one from thinking sphinx gem spec (builder 3.x) is not getting run > >>>> at all. > > >>>> I'm using bundler. > > >>>> On Nov 16, 9:08 am, Ngan <[email protected]> wrote: > > >>>>> I've added that but then I just get this error: > >>>>> Don't know how to reveal method 'instance_eval' > > >>>>> Just to confirm: > > >>>>> class Builder < BlankSlate > >>>>> reveal :instance_eval > >>>>> reveal :repond_to? > > >>>>> def self.generate(...) > >>>>> ... > >>>>> end > > >>>>> On Nov 16, 2:32 am, Pat Allan <[email protected]> wrote: > > >>>>>> Hmm, REE must behave differently with BlankSlate. I've certainly > >>>>>> noticed different behaviours for Ruby 1.9 and Rubinius. > > >>>>>> Although keep in mind respond_to? is returning the FauxColumn in your > >>>>>> example, it's not instance_eval itself. In your local copy of TS, can > >>>>>> you add the following to the top of the Builder class: > >>>>>> reveal :instance_eval > >>>>>> reveal :respond_to? > > >>>>>> That'll unhide those methods. > > >>>>>> -- > >>>>>> Pat > > >>>>>> On 16/11/2011, at 2:14 PM, Ngan wrote: > > >>>>>>> I've narrowed down the issue... > >>>>>>> lib/thinking_sphinx/index/builder.rb > > >>>>>>> def initialzie > >>>>>>> ... > >>>>>>> self.instance_eval &block > >>>>>>> ... > >>>>>>> end > > >>>>>>> That call seems to not be working and/or doing nothing. > >>>>>>> When I do: > > >>>>>>> puts "self.respond_to?(:instance_eval)", I get: > >>>>>>> #<ThinkingSphinx::Index::FauxColumn:0x10f575778> > > >>>>>>> I'm on Ruby Enterprise1.8.7-2010.02 > > >>>>>>> This must be because of the BlankSlate/Builder changes? > > >>>>>>> On Nov 5, 1:25 am, Pat Allan <[email protected]> wrote: > >>>>>>>> I don't suppose the stack trace holds any clues? > > >>>>>>>> -- > >>>>>>>> Pat > > >>>>>>>> On 05/11/2011, at 12:10 AM, Ngan wrote: > > >>>>>>>>> I've removed all indexes from all models and left just one: > > >>>>>>>>> class Label < ActiveRecord::Base > >>>>>>>>> define_index do > >>>>>>>>> indexes :name > >>>>>>>>> end > >>>>>>>>> end > > >>>>>>>>> And it still errors. > > >>>>>>>>> On Nov 4, 2:36 pm, Ngan <[email protected]> wrote: > >>>>>>>>>> Yea, i downgrade Riddle as well when going to 1.4.9 (it errors when > >>>>>>>>>> you don't). > > >>>>>>>>>> Will check further > > >>>>>>>>>> On Nov 4, 2:07 pm, Pat Allan <[email protected]> wrote: > > >>>>>>>>>>> Can't think why that error would appear changing from 1.4.7 to > >>>>>>>>>>> 1.4.10… > > >>>>>>>>>>> When you downgrade to 1.4.9, keep in mind you'll need to > >>>>>>>>>>> downgrade Riddle as well (1.5.0 only works with1.4.10/2.0.10- all > >>>>>>>>>>> were released earlier today). > > >>>>>>>>>>> Do any of your index definitions not have any fields? Are you > >>>>>>>>>>> doing anything out of the ordinary with index definitions? > > >>>>>>>>>>> -- > >>>>>>>>>>> Pat > > >>>>>>>>>>> On 04/11/2011, at 10:50 PM, Ngan wrote: > > >>>>>>>>>>>> I'm on Rails 2.3. Been running TS 1.4.7. Tried to upgrade to > >>>>>>>>>>>> to TS > >>>>>>>>>>>> 1.4.10, but got this error: > > >>>>>>>>>>>> $ rake ts:index --trace > >>>>>>>>>>>> ... > >>>>>>>>>>>> At least one field is necessary for an index > >>>>>>>>>>>> ... > > >>>>>>>>>>>> I tried to upgrade to 1.4.9, and got the same error... > >>>>>>>>>>>> What changed? > > >>>>>>>>>>>> -- > >>>>>>>>>>>> You received this message because you are subscribed to the > >>>>>>>>>>>> Google Groups "Thinking Sphinx" group. > >>>>>>>>>>>> To post to this group, send email to > >>>>>>>>>>>> [email protected]. > >>>>>>>>>>>> To unsubscribe from this group, send email to > >>>>>>>>>>>> [email protected]. > >>>>>>>>>>>> For more options, visit this group > >>>>>>>>>>>> athttp://groups.google.com/group/thinking-sphinx?hl=en. > > >>>>>>>>> -- > >>>>>>>>> You received this message because you are subscribed to the Google > >>>>>>>>> Groups "Thinking Sphinx" group. > >>>>>>>>> To post to this group, send email to > >>>>>>>>> [email protected]. > >>>>>>>>> To unsubscribe from this group, send email to > >>>>>>>>> [email protected]. > >>>>>>>>> For more options, visit this group > >>>>>>>>> athttp://groups.google.com/group/thinking-sphinx?hl=en. > > >>>>>>> -- > >>>>>>> You received this message because you are subscribed to the Google > >>>>>>> Groups "Thinking Sphinx" group. > >>>>>>> To post to this group, send email to [email protected]. > >>>>>>> To unsubscribe from this group, send email to > >>>>>>> [email protected]. > >>>>>>> For more options, visit this group > >>>>>>> athttp://groups.google.com/group/thinking-sphinx?hl=en. > > >>> -- > >>> You received this message because you are subscribed to the Google Groups > >>> "Thinking Sphinx" group. > >>> To post to this group, send email to [email protected]. > >>> To unsubscribe from this group, send email to > >>> [email protected]. > >>> For more options, visit this group > >>> athttp://groups.google.com/group/thinking-sphinx?hl=en. > > > -- > > You received this message because you are subscribed to the Google Groups > > "Thinking Sphinx" group. > > To post to this group, send email to [email protected]. > > To unsubscribe from this group, send email to > > [email protected]. > > For more options, visit this group > > athttp://groups.google.com/group/thinking-sphinx?hl=en. -- You received this message because you are subscribed to the Google Groups "Thinking Sphinx" group. To post to this group, send email to [email protected]. To unsubscribe from this group, send email to [email protected]. For more options, visit this group at http://groups.google.com/group/thinking-sphinx?hl=en.
