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 Enterprise 1.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 with 1.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 at > http://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.
