Couldn't get it working on TS master/rails3. Though it sounds like it's the 
vendored version of blank slate that's the issue. I'm thinking I might have to 
remove the use of blank slate in TS master/rails3. I'll try to get to that in 
the next day or so.

-- 
Pat

On 18/11/2011, at 8:25 AM, Ngan wrote:

> 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.
> 

-- 
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.

Reply via email to