Laurent Sansonetti
lsans****@apple*****
Fri Mar 2 00:34:05 JST 2007
Mmh I'm not sure if it's a good idea to add #method_missing in NSArray, this may cause more problems than we think (and it's anyway going to overlap with the real #method_missing in oc_wrapper.rb). Might be better to simply re-implement the missing interface :) Laurent On Mar 1, 2007, at 4:21 PM, Eloy Duran wrote: > Yes indeed :) > > I don't know if there are any other methods that are important.... > But would it maybe be possible/handy to just create some sort > of proxy method? Like: > > def method_missing(method, *args) > if Array.instance_methods.include? method.to_s > self.to_a.send method, *args > else > super > end > end > > Then again, this probably is much slower/too much clutter..... > Anyways, I always use length so that would be a good one :) > > Eloy > > On 3/1/07, Laurent Sansonetti <lsans****@apple*****> wrote: >> Might be a good idea :) >> >> I also think that we should provide #length as an alias of #size >> (like >> the original Array does). >> >> Laurent >> >> On Mar 1, 2007, at 4:07 PM, Eloy Duran wrote: >> >> >>> Nice work! >> >>> Looks much better indeed. >> >>> One thing though, I don't know if this is necessary, >> >>> but should we also be able to pass a range to NSArray[] ? >> >>> Right now it only supports a integer (index). >> >>> Because it might be confusing to users that you are able >> >>> to pass a index like in in ruby but not a range. >> >>> >> >>> What do you think? >> >>> >> >>> Eloy >> >>> >> >>> On 3/1/07, Laurent Sansonetti <lsans****@apple*****> wrote: >> >>> >>>> I profited of this to do a quick refactoring. The #to_a, #to_i and >> >>> >>>> #to_f methods in oc_wrapper.rb aren't really necessary anymore >>>> now (I >> >>> >>>> guess there were there for historical reasons). Also, in >> >>> >>>> oc_attachments*.rb, it's no longer needed to use sub modules as we >> >>> >>>> can >> >>> >>>> add the methods on the fly directly to the right classes (which >> >>> >>>> should >> >>> >>>> also be faster). >> >>> >>>> >> >>> >>>> Committed as r1610. >> >>> >>>> >> >>> >>>> Laurent >> >>> >>>> >> >>> >>>> On Mar 1, 2007, at 3:20 PM, Laurent Sansonetti wrote: >> >>> >>>> >> >>> >>>> >> >>> >>>> >>>>> Good catch! The following patch fixes the problem (so you can call >> >>> >>>> >> >>> >>>> >>>>> #to_a on an enumerator again): >> >>> >>>> >> >>> >>>> >>>>> >> >>> >>>> >> >>> >>>> >>>>> Index: framework/src/ruby/osx/objc/oc_wrapper.rb >> >>> >>>> >> >>> >>>> >>>>> = >>>>> ================================================================== >> >>> >>>> >> >>> >>>> >>>>> --- framework/src/ruby/osx/objc/oc_wrapper.rb (revision 1606) >> >>> >>>> >> >>> >>>> >>>>> +++ framework/src/ruby/osx/objc/oc_wrapper.rb (working copy) >> >>> >>>> >> >>> >>>> >>>>> @@ -66,14 +66,14 @@ >> >>> >>>> >> >>> >>>> >>>>> end >> >>> >>>> >> >>> >>>> >>>>> >> >>> >>>> >> >>> >>>> >>>>> def to_a >> >>> >>>> >> >>> >>>> >>>>> - if self.ocm_send(:isKindOfClass_, OSX::NSArray) != 0 then >> >>> >>>> >> >>> >>>> >>>>> + if self.ocm_send(:isKindOfClass_, OSX::NSArray) >> >>> >>>> >> >>> >>>> >>>>> ary = Array.new >> >>> >>>> >> >>> >>>> >>>>> iter = self.ocm_send(:objectEnumerator) >> >>> >>>> >> >>> >>>> >>>>> while obj = iter.ocm_send(:nextObject) do >> >>> >>>> >> >>> >>>> >>>>> ary.push(obj) >> >>> >>>> >> >>> >>>> >>>>> end >> >>> >>>> >> >>> >>>> >>>>> ary >> >>> >>>> >> >>> >>>> >>>>> - elsif self.ocm_send(:isKindOfClass_, OSX::NSEnumerator) ! >>>>> = 0 >> >>> >>>> >> >>> >>>> >>>>> then >> >>> >>>> >> >>> >>>> >>>>> + elsif self.ocm_send(:isKindOfClass_, OSX::NSEnumerator) >> >>> >>>> >> >>> >>>> >>>>> self.ocm_send(:allObjects).to_a >> >>> >>>> >> >>> >>>> >>>>> else >> >>> >>>> >> >>> >>>> >>>>> [ self ] >> >>> >>>> >> >>> >>>> >>>>> >> >>> >>>> >> >>> >>>> >>>>> Laurent >> >>> >>>> >> >>> >>>> >>>>> >> >>> >>>> >> >>> >>>> >>>>> On Mar 1, 2007, at 2:45 PM, Jacob Wallström wrote: >> >>> >>>> >> >>> >>>> >>>>> >> >>> >>>> >> >>> >>>> >>>>> >> >>> >>>> >>>>> >>>>>> Hi Laurent, >> >>> >>>> >> >>> >>>> >>>>> >> >>> >>>> >>>>> >>>>>> >> >>> >>>> >> >>> >>>> >>>>> >> >>> >>>> >>>>> >>>>>> While preparing the demo for you I turned out to be mistaken. The >> >>> >>>> >> >>> >>>> >>>>> >> >>> >>>> >>>>> >>>>>> whole line looked like this: >> >>> >>>> >> >>> >>>> >>>>> >> >>> >>>> >>>>> >>>>>> >> >>> >>>> >> >>> >>>> >>>>> >> >>> >>>> >>>>> >>>>>> session.changeEnumeratorForEntityNames([syncName]).to_a >> >>> >>>> >> >>> >>>> >>>>> >> >>> >>>> >>>>> >>>>>> >> >>> >>>> >> >>> >>>> >>>>> >> >>> >>>> >>>>> >>>>>> The changeEnumeratorForEntityNames method returns a NSEnumerator. >> >>> >>>> >>>>> >>>>>> For >> >>> >>>> >> >>> >>>> >>>>> >> >>> >>>> >>>>> >>>>>> some reason the above call was working in RubyCocoa 0.4.3d2. >> >>> >>>> >>>>> >>>>>> Changing >> >>> >>>> >> >>> >>>> >>>>> >> >>> >>>> >>>>> >>>>>> the code to >> >>> >>>> >> >>> >>>> >>>>> >> >>> >>>> >>>>> >>>>>> >> >>> >>>> >> >>> >>>> >>>>> >> >>> >>>> >>>>> >>>>>> session.changeEnumeratorForEntityNames([syncName]).allObjects >> >>> >>>> >> >>> >>>> >>>>> >> >>> >>>> >>>>> >>>>>> >> >>> >>>> >> >>> >>>> >>>>> >> >>> >>>> >>>>> >>>>>> made it work in RubyCocoa 1.0 too. Sorry about that. >> >>> >>>> >> >>> >>>> >>>>> >> >>> >>>> >>>>> >>>>>> >> >>> >>>> >> >>> >>>> >>>>> >> >>> >>>> >>>>> >>>>>> /Jacob >> >>> >>>> >> >>> >>>> >>>>> >> >>> >>>> >>>>> >>>>>> >> >>> >>>> >> >>> >>>> >>>>> >> >>> >>>> >>>>> >>>>>> On 28 feb 2007, at 16.48, Laurent Sansonetti wrote: >> >>> >>>> >> >>> >>>> >>>>> >> >>> >>>> >>>>> >>>>>> >> >>> >>>> >> >>> >>>> >>>>> >> >>> >>>> >>>>> >>>>>> >> >>> >>>> >> >>> >>>> >>>>> >> >>> >>>> >>>>> >>>>>> >> >>> >>>> >>>>> >>>>>> >>>>>>> Hi Jacob, >> >>> >>>> >> >>> >>>> >>>>> >> >>> >>>> >>>>> >>>>>> >> >>> >>>> >> >>> >>>> >>>>> >> >>> >>>> >>>>> >>>>>> >> >>> >>>> >>>>> >>>>>> >>>>>>> >> >>> >>>> >> >>> >>>> >>>>> >> >>> >>>> >>>>> >>>>>> >> >>> >>>> >> >>> >>>> >>>>> >> >>> >>>> >>>>> >>>>>> >> >>> >>>> >>>>> >>>>>> >>>>>>> This is a weird problem. At a glance ISDChangeEnumerator is a >> >>> >>>> >>>>> >>>>>> >>>>>>> valid >> >>> >>>> >> >>> >>>> >>>>> >> >>> >>>> >>>>> >>>>>> >> >>> >>>> >> >>> >>>> >>>>> >> >>> >>>> >>>>> >>>>>> >> >>> >>>> >>>>> >>>>>> >>>>>>> subclass of NSEnumerator so there is no reason why [- >> >>> >>>> >> >>> >>>> >>>>> >> >>> >>>> >>>>> >>>>>> >> >>> >>>> >> >>> >>>> >>>>> >> >>> >>>> >>>>> >>>>>> >> >>> >>>> >>>>> >>>>>> >>>>>>> objectEnumerator] >> >>> >>>> >> >>> >>>> >>>>> >> >>> >>>> >>>>> >>>>>> >> >>> >>>> >> >>> >>>> >>>>> >> >>> >>>> >>>>> >>>>>> >> >>> >>>> >>>>> >>>>>> >>>>>>> is called on it. Could you isolate this problem in a separate/ >> >>> >>>> >> >>> >>>> >>>>> >> >>> >>>> >>>>> >>>>>> >> >>> >>>> >> >>> >>>> >>>>> >> >>> >>>> >>>>> >>>>>> >> >>> >>>> >>>>> >>>>>> >>>>>>> distinct >> >>> >>>> >> >>> >>>> >>>>> >> >>> >>>> >>>>> >>>>>> >> >>> >>>> >> >>> >>>> >>>>> >> >>> >>>> >>>>> >>>>>> >> >>> >>>> >>>>> >>>>>> >>>>>>> project and send it to the list? I may be able to fix it if I >>>>>>> can >> >>> >>>> >> >>> >>>> >>>>> >> >>> >>>> >>>>> >>>>>> >> >>> >>>> >> >>> >>>> >>>>> >> >>> >>>> >>>>> >>>>>> >> >>> >>>> >>>>> >>>>>> >>>>>>> reproduce it. >> >>> >>>> >> >>> >>>> >>>>> >> >>> >>>> >>>>> >>>>>> >> >>> >>>> >> >>> >>>> >>>>> >> >>> >>>> >>>>> >>>>>> >> >>> >>>> >>>>> >>>>>> >>>>>>> >> >>> >>>> >> >>> >>>> >>>>> >> >>> >>>> >>>>> >>>>>> >> >>> >>>> >> >>> >>>> >>>>> >> >>> >>>> >>>>> >>>>>> >> >>> >>>> >>>>> >>>>>> >>>>>>> Thanks! >> >>> >>>> >> >>> >>>> >>>>> >> >>> >>>> >>>>> >>>>>> >> >>> >>>> >> >>> >>>> >>>>> >> >>> >>>> >>>>> >>>>>> >> >>> >>>> >>>>> >>>>>> >>>>>>> Laurent >> >>> >>>> >> >>> >>>> >>>>> >> >>> >>>> >>>>> >>>>>> >> >>> >>>> >> >>> >>>> >>>>> >> >>> >>>> >>>>> >>>>>> >> >>> >>>> >>>>> >>>>>> >>>>>>> >> >>> >>>> >> >>> >>>> >>>>> >> >>> >>>> >>>>> >>>>>> >> >>> >>>> >> >>> >>>> >>>>> >> >>> >>>> >>>>> >>>>>> >> >>> >>>> >>>>> >>>>>> >>>>>>> On Feb 28, 2007, at 4:26 PM, Jacob Wallström wrote: >> >>> >>>> >> >>> >>>> >>>>> >> >>> >>>> >>>>> >>>>>> >> >>> >>>> >> >>> >>>> >>>>> >> >>> >>>> >>>>> >>>>>> >> >>> >>>> >>>>> >>>>>> >>>>>>> >> >>> >>>> >> >>> >>>> >>>>> >> >>> >>>> >>>>> >>>>>> >> >>> >>>> >> >>> >>>> >>>>> >> >>> >>>> >>>>> >>>>>> >> >>> >>>> >>>>> >>>>>> >>>>>>> >> >>> >>>> >> >>> >>>> >>>>> >> >>> >>>> >>>>> >>>>>> >> >>> >>>> >> >>> >>>> >>>>> >> >>> >>>> >>>>> >>>>>> >> >>> >>>> >>>>> >>>>>> >>>>>>> >> >>> >>>> >> >>> >>>> >>>>> >> >>> >>>> >>>>> >>>>>> >> >>> >>>> >>>>> >>>>>> >>>>>>> >> >>> >>>> >>>>> >>>>>> >>>>>>> >>>>>>>> I'm trying out RubyCocoa pre-1.0 from the unstable branch (rev. >> >>> >>>> >> >>> >>>> >>>>> >> >>> >>>> >>>>> >>>>>> >> >>> >>>> >> >>> >>>> >>>>> >> >>> >>>> >>>>> >>>>>> >> >>> >>>> >>>>> >>>>>> >>>>>>> >> >>> >>>> >> >>> >>>> >>>>> >> >>> >>>> >>>>> >>>>>> >> >>> >>>> >> >>> >>>> >>>>> >> >>> >>>> >>>>> >>>>>> >> >>> >>>> >>>>> >>>>>> >>>>>>> >> >>> >>>> >> >>> >>>> >>>>> >> >>> >>>> >>>>> >>>>>> >> >>> >>>> >>>>> >>>>>> >>>>>>> >> >>> >>>> >>>>> >>>>>> >>>>>>> >>>>>>>> 1600). One problem I have run into is the following: >> >>> >>>> >> >>> >>>> >>>>> >> >>> >>>> >>>>> >>>>>> >> >>> >>>> >> >>> >>>> >>>>> >> >>> >>>> >>>>> >>>>>> >> >>> >>>> >>>>> >>>>>> >>>>>>> >> >>> >>>> >> >>> >>>> >>>>> >> >>> >>>> >>>>> >>>>>> >> >>> >>>> >> >>> >>>> >>>>> >> >>> >>>> >>>>> >>>>>> >> >>> >>>> >>>>> >>>>>> >>>>>>> >> >>> >>>> >> >>> >>>> >>>>> >> >>> >>>> >>>>> >>>>>> >> >>> >>>> >>>>> >>>>>> >>>>>>> >> >>> >>>> >>>>> >>>>>> >>>>>>> >>>>>>>> >> >>> >>>> >> >>> >>>> >>>>> >> >>> >>>> >>>>> >>>>>> >> >>> >>>> >> >>> >>>> >>>>> >> >>> >>>> >>>>> >>>>>> >> >>> >>>> >>>>> >>>>>> >>>>>>> >> >>> >>>> >> >>> >>>> >>>>> >> >>> >>>> >>>>> >>>>>> >> >>> >>>> >> >>> >>>> >>>>> >> >>> >>>> >>>>> >>>>>> >> >>> >>>> >>>>> >>>>>> >>>>>>> >> >>> >>>> >> >>> >>>> >>>>> >> >>> >>>> >>>>> >>>>>> >> >>> >>>> >>>>> >>>>>> >>>>>>> >> >>> >>>> >>>>> >>>>>> >>>>>>> >>>>>>>> Exception thrown: Can't get Objective-C method signature for >> >>> >>>> >> >>> >>>> >>>>> >> >>> >>>> >>>>> >>>>>> >> >>> >>>> >> >>> >>>> >>>>> >> >>> >>>> >>>>> >>>>>> >> >>> >>>> >>>>> >>>>>> >>>>>>> >> >>> >>>> >> >>> >>>> >>>>> >> >>> >>>> >>>>> >>>>>> >> >>> >>>> >>>>> >>>>>> >>>>>>> >> >>> >>>> >>>>> >>>>>> >>>>>>> >>>>>>>> selector >> >>> >>>> >> >>> >>>> >>>>> >> >>> >>>> >>>>> >>>>>> >> >>> >>>> >> >>> >>>> >>>>> >> >>> >>>> >>>>> >>>>>> >> >>> >>>> >>>>> >>>>>> >>>>>>> >> >>> >>>> >> >>> >>>> >>>>> >> >>> >>>> >>>>> >>>>>> >> >>> >>>> >> >>> >>>> >>>>> >> >>> >>>> >>>>> >>>>>> >> >>> >>>> >>>>> >>>>>> >>>>>>> >> >>> >>>> >> >>> >>>> >>>>> >> >>> >>>> >>>>> >>>>>> >> >>> >>>> >>>>> >>>>>> >>>>>>> >> >>> >>>> >>>>> >>>>>> >>>>>>> >>>>>>>> 'objectEnumerator' of receiver #<OSX::ISDChangeEnumerator: >> >>> >>>> >>>>> >>>>>> >>>>>>> >>>>>>>> 0x39d032 >> >>> >>>> >> >>> >>>> >>>>> >> >>> >>>> >>>>> >>>>>> >> >>> >>>> >> >>> >>>> >>>>> >> >>> >>>> >>>>> >>>>>> >> >>> >>>> >>>>> >>>>>> >>>>>>> >> >>> >>>> >> >>> >>>> >>>>> >> >>> >>>> >>>>> >>>>>> >> >>> >>>> >> >>> >>>> >>>>> >> >>> >>>> >>>>> >>>>>> >> >>> >>>> >>>>> >>>>>> >>>>>>> >> >>> >>>> >> >>> >>>> >>>>> >> >>> >>>> >>>>> >>>>>> >> >>> >>>> >>>>> >>>>>> >>>>>>> >> >>> >>>> >>>>> >>>>>> >>>>>>> >>>>>>>> class='ISDChangeEnumerator' id=0x15cb3590> >> >>> >>>> >> >>> >>>> >>>>> >> >>> >>>> >>>>> >>>>>> >> >>> >>>> >> >>> >>>> >>>>> >> >>> >>>> >>>>> >>>>>> >> >>> >>>> >>>>> >>>>>> >>>>>>> >> >>> >>>> >> >>> >>>> >>>>> >> >>> >>>> >>>>> >>>>>> >> >>> >>>> >> >>> >>>> >>>>> >> >>> >>>> >>>>> >>>>>> >> >>> >>>> >>>>> >>>>>> >>>>>>> >> >>> >>>> >> >>> >>>> >>>>> >> >>> >>>> >>>>> >>>>>> >> >>> >>>> >>>>> >>>>>> >>>>>>> >> >>> >>>> >>>>> >>>>>> >>>>>>> >>>>>>>> /Checkedout/JacobDocs/GhostAction/trunk/GhostAction/build/ >> >>> >>>> >> >>> >>>> >>>>> >> >>> >>>> >>>>> >>>>>> >> >>> >>>> >> >>> >>>> >>>>> >> >>> >>>> >>>>> >>>>>> >> >>> >>>> >>>>> >>>>>> >>>>>>> >> >>> >>>> >> >>> >>>> >>>>> >> >>> >>>> >>>>> >>>>>> >> >>> >>>> >> >>> >>>> >>>>> >> >>> >>>> >>>>> >>>>>> >> >>> >>>> >>>>> >>>>>> >>>>>>> >> >>> >>>> >> >>> >>>> >>>>> >> >>> >>>> >>>>> >>>>>> >> >>> >>>> >>>>> >>>>>> >>>>>>> >> >>> >>>> >>>>> >>>>>> >>>>>>> >>>>>>>> Development/ >> >>> >>>> >> >>> >>>> >>>>> >> >>> >>>> >>>>> >>>>>> >> >>> >>>> >> >>> >>>> >>>>> >> >>> >>>> >>>>> >>>>>> >> >>> >>>> >>>>> >>>>>> >>>>>>> >> >>> >>>> >> >>> >>>> >>>>> >> >>> >>>> >>>>> >>>>>> >> >>> >>>> >> >>> >>>> >>>>> >> >>> >>>> >>>>> >>>>>> >> >>> >>>> >>>>> >>>>>> >>>>>>> >> >>> >>>> >> >>> >>>> >>>>> >> >>> >>>> >>>>> >>>>>> >> >>> >>>> >>>>> >>>>>> >>>>>>> >> >>> >>>> >>>>> >>>>>> >>>>>>> >>>>>>>> Ghost Action.app/Contents/Frameworks/RubyCocoa.framework/ >> >>> >>>> >>>>> >>>>>> >>>>>>> >>>>>>>> Resources/ >> >>> >>>> >> >>> >>>> >>>>> >> >>> >>>> >>>>> >>>>>> >> >>> >>>> >> >>> >>>> >>>>> >> >>> >>>> >>>>> >>>>>> >> >>> >>>> >>>>> >>>>>> >>>>>>> >> >>> >>>> >> >>> >>>> >>>>> >> >>> >>>> >>>>> >>>>>> >> >>> >>>> >> >>> >>>> >>>>> >> >>> >>>> >>>>> >>>>>> >> >>> >>>> >>>>> >>>>>> >>>>>>> >> >>> >>>> >> >>> >>>> >>>>> >> >>> >>>> >>>>> >>>>>> >> >>> >>>> >>>>> >>>>>> >>>>>>> >> >>> >>>> >>>>> >>>>>> >>>>>>> >>>>>>>> ruby/osx/objc/oc_wrapper.rb:63:in `ocm_send' >> >>> >>>> >> >>> >>>> >>>>> >> >>> >>>> >>>>> >>>>>> >> >>> >>>> >> >>> >>>> >>>>> >> >>> >>>> >>>>> >>>>>> >> >>> >>>> >>>>> >>>>>> >>>>>>> >> >>> >>>> >> >>> >>>> >>>>> >> >>> >>>> >>>>> >>>>>> >> >>> >>>> >> >>> >>>> >>>>> >> >>> >>>> >>>>> >>>>>> >> >>> >>>> >>>>> >>>>>> >>>>>>> >> >>> >>>> >> >>> >>>> >>>>> >> >>> >>>> >>>>> >>>>>> >> >>> >>>> >>>>> >>>>>> >>>>>>> >> >>> >>>> >>>>> >>>>>> >>>>>>> >>>>>>>> /Checkedout/JacobDocs/GhostAction/trunk/GhostAction/build/ >> >>> >>>> >> >>> >>>> >>>>> >> >>> >>>> >>>>> >>>>>> >> >>> >>>> >> >>> >>>> >>>>> >> >>> >>>> >>>>> >>>>>> >> >>> >>>> >>>>> >>>>>> >>>>>>> >> >>> >>>> >> >>> >>>> >>>>> >> >>> >>>> >>>>> >>>>>> >> >>> >>>> >> >>> >>>> >>>>> >> >>> >>>> >>>>> >>>>>> >> >>> >>>> >>>>> >>>>>> >>>>>>> >> >>> >>>> >> >>> >>>> >>>>> >> >>> >>>> >>>>> >>>>>> >> >>> >>>> >>>>> >>>>>> >>>>>>> >> >>> >>>> >>>>> >>>>>> >>>>>>> >>>>>>>> Development/ >> >>> >>>> >> >>> >>>> >>>>> >> >>> >>>> >>>>> >>>>>> >> >>> >>>> >> >>> >>>> >>>>> >> >>> >>>> >>>>> >>>>>> >> >>> >>>> >>>>> >>>>>> >>>>>>> >> >>> >>>> >> >>> >>>> >>>>> >> >>> >>>> >>>>> >>>>>> >> >>> >>>> >> >>> >>>> >>>>> >> >>> >>>> >>>>> >>>>>> >> >>> >>>> >>>>> >>>>>> >>>>>>> >> >>> >>>> >> >>> >>>> >>>>> >> >>> >>>> >>>>> >>>>>> >> >>> >>>> >>>>> >>>>>> >>>>>>> >> >>> >>>> >>>>> >>>>>> >>>>>>> >>>>>>>> Ghost Action.app/Contents/Frameworks/RubyCocoa.framework/ >> >>> >>>> >>>>> >>>>>> >>>>>>> >>>>>>>> Resources/ >> >>> >>>> >> >>> >>>> >>>>> >> >>> >>>> >>>>> >>>>>> >> >>> >>>> >> >>> >>>> >>>>> >> >>> >>>> >>>>> >>>>>> >> >>> >>>> >>>>> >>>>>> >>>>>>> >> >>> >>>> >> >>> >>>> >>>>> >> >>> >>>> >>>>> >>>>>> >> >>> >>>> >> >>> >>>> >>>>> >> >>> >>>> >>>>> >>>>>> >> >>> >>>> >>>>> >>>>>> >>>>>>> >> >>> >>>> >> >>> >>>> >>>>> >> >>> >>>> >>>>> >>>>>> >> >>> >>>> >>>>> >>>>>> >>>>>>> >> >>> >>>> >>>>> >>>>>> >>>>>>> >>>>>>>> ruby/osx/objc/oc_wrapper.rb:63:in `to_a' >> >>> >>>> >> >>> >>>> >>>>> >> >>> >>>> >>>>> >>>>>> >> >>> >>>> >> >>> >>>> >>>>> >> >>> >>>> >>>>> >>>>>> >> >>> >>>> >>>>> >>>>>> >>>>>>> >> >>> >>>> >> >>> >>>> >>>>> >> >>> >>>> >>>>> >>>>>> >> >>> >>>> >> >>> >>>> >>>>> >> >>> >>>> >>>>> >>>>>> >> >>> >>>> >>>>> >>>>>> >>>>>>> >> >>> >>>> >> >>> >>>> >>>>> >> >>> >>>> >>>>> >>>>>> >> >>> >>>> >>>>> >>>>>> >>>>>>> >> >>> >>>> >>>>> >>>>>> >>>>>>> >>>>>>>> >> >>> >>>> >> >>> >>>> >>>>> >> >>> >>>> >>>>> >>>>>> >> >>> >>>> >> >>> >>>> >>>>> >> >>> >>>> >>>>> >>>>>> >> >>> >>>> >>>>> >>>>>> >>>>>>> >> >>> >>>> >> >>> >>>> >>>>> >> >>> >>>> >>>>> >>>>>> >> >>> >>>> >> >>> >>>> >>>>> >> >>> >>>> >>>>> >>>>>> >> >>> >>>> >>>>> >>>>>> >>>>>>> >> >>> >>>> >> >>> >>>> >>>>> >> >>> >>>> >>>>> >>>>>> >> >>> >>>> >>>>> >>>>>> >>>>>>> >> >>> >>>> >>>>> >>>>>> >>>>>>> >>>>>>>> I get it when I make the following call: >> >>> >>>> >> >>> >>>> >>>>> >> >>> >>>> >>>>> >>>>>> >> >>> >>>> >> >>> >>>> >>>>> >> >>> >>>> >>>>> >>>>>> >> >>> >>>> >>>>> >>>>>> >>>>>>> >> >>> >>>> >> >>> >>>> >>>>> >> >>> >>>> >>>>> >>>>>> >> >>> >>>> >> >>> >>>> >>>>> >> >>> >>>> >>>>> >>>>>> >> >>> >>>> >>>>> >>>>>> >>>>>>> >> >>> >>>> >> >>> >>>> >>>>> >> >>> >>>> >>>>> >>>>>> >> >>> >>>> >>>>> >>>>>> >>>>>>> >> >>> >>>> >>>>> >>>>>> >>>>>>> >>>>>>>> >> >>> >>>> >> >>> >>>> >>>>> >> >>> >>>> >>>>> >>>>>> >> >>> >>>> >> >>> >>>> >>>>> >> >>> >>>> >>>>> >>>>>> >> >>> >>>> >>>>> >>>>>> >>>>>>> >> >>> >>>> >> >>> >>>> >>>>> >> >>> >>>> >>>>> >>>>>> >> >>> >>>> >> >>> >>>> >>>>> >> >>> >>>> >>>>> >>>>>> >> >>> >>>> >>>>> >>>>>> >>>>>>> >> >>> >>>> >> >>> >>>> >>>>> >> >>> >>>> >>>>> >>>>>> >> >>> >>>> >>>>> >>>>>> >>>>>>> >> >>> >>>> >>>>> >>>>>> >>>>>>> >>>>>>>> # session is a proper ISyncSession object >> >>> >>>> >> >>> >>>> >>>>> >> >>> >>>> >>>>> >>>>>> >> >>> >>>> >> >>> >>>> >>>>> >> >>> >>>> >>>>> >>>>>> >> >>> >>>> >>>>> >>>>>> >>>>>>> >> >>> >>>> >> >>> >>>> >>>>> >> >>> >>>> >>>>> >>>>>> >> >>> >>>> >> >>> >>>> >>>>> >> >>> >>>> >>>>> >>>>>> >> >>> >>>> >>>>> >>>>>> >>>>>>> >> >>> >>>> >> >>> >>>> >>>>> >> >>> >>>> >>>>> >>>>>> >> >>> >>>> >>>>> >>>>>> >>>>>>> >> >>> >>>> >>>>> >>>>>> >>>>>>> >>>>>>>> session >> >>> >>>> >> >>> >>>> >>>>> >> >>> >>>> >>>>> >>>>>> >> >>> >>>> >> >>> >>>> >>>>> >> >>> >>>> >>>>> >>>>>> >> >>> >>>> >>>>> >>>>>> >>>>>>> >> >>> >>>> >> >>> >>>> >>>>> >> >>> >>>> >>>>> >>>>>> >> >>> >>>> >> >>> >>>> >>>>> >> >>> >>>> >>>>> >>>>>> >> >>> >>>> >>>>> >>>>>> >>>>>>> >> >>> >>>> >> >>> >>>> >>>>> >> >>> >>>> >>>>> >>>>>> >> >>> >>>> >>>>> >>>>>> >>>>>>> >> >>> >>>> >>>>> >>>>>> >>>>>>> >>>>>>>> .changeEnumeratorForEntityNames >>>>>>>> (["com.apple.calendars.Calendar"]) >> >>> >>>> >> >>> >>>> >>>>> >> >>> >>>> >>>>> >>>>>> >> >>> >>>> >> >>> >>>> >>>>> >> >>> >>>> >>>>> >>>>>> >> >>> >>>> >>>>> >>>>>> >>>>>>> >> >>> >>>> >> >>> >>>> >>>>> >> >>> >>>> >>>>> >>>>>> >> >>> >>>> >> >>> >>>> >>>>> >> >>> >>>> >>>>> >>>>>> >> >>> >>>> >>>>> >>>>>> >>>>>>> >> >>> >>>> >> >>> >>>> >>>>> >> >>> >>>> >>>>> >>>>>> >> >>> >>>> >>>>> >>>>>> >>>>>>> >> >>> >>>> >>>>> >>>>>> >>>>>>> >>>>>>>> >> >>> >>>> >> >>> >>>> >>>>> >> >>> >>>> >>>>> >>>>>> >> >>> >>>> >> >>> >>>> >>>>> >> >>> >>>> >>>>> >>>>>> >> >>> >>>> >>>>> >>>>>> >>>>>>> >> >>> >>>> >> >>> >>>> >>>>> >> >>> >>>> >>>>> >>>>>> >> >>> >>>> >> >>> >>>> >>>>> >> >>> >>>> >>>>> >>>>>> >> >>> >>>> >>>>> >>>>>> >>>>>>> >> >>> >>>> >> >>> >>>> >>>>> >> >>> >>>> >>>>> >>>>>> >> >>> >>>> >>>>> >>>>>> >>>>>>> >> >>> >>>> >>>>> >>>>>> >>>>>>> >>>>>>>> The same code was working under 0.4.3d2 (I had imported the >>>>>>>> Sync >> >>> >>>> >> >>> >>>> >>>>> >> >>> >>>> >>>>> >>>>>> >> >>> >>>> >> >>> >>>> >>>>> >> >>> >>>> >>>>> >>>>>> >> >>> >>>> >>>>> >>>>>> >>>>>>> >> >>> >>>> >> >>> >>>> >>>>> >> >>> >>>> >>>>> >>>>>> >> >>> >>>> >> >>> >>>> >>>>> >> >>> >>>> >>>>> >>>>>> >> >>> >>>> >>>>> >>>>>> >>>>>>> >> >>> >>>> >> >>> >>>> >>>>> >> >>> >>>> >>>>> >>>>>> >> >>> >>>> >>>>> >>>>>> >>>>>>> >> >>> >>>> >>>>> >>>>>> >>>>>>> >>>>>>>> Services classes myself), but when trying with pre-1.0 I get >>>>>>>> the >> >>> >>>> >> >>> >>>> >>>>> >> >>> >>>> >>>>> >>>>>> >> >>> >>>> >> >>> >>>> >>>>> >> >>> >>>> >>>>> >>>>>> >> >>> >>>> >>>>> >>>>>> >>>>>>> >> >>> >>>> >> >>> >>>> >>>>> >> >>> >>>> >>>>> >>>>>> >> >>> >>>> >> >>> >>>> >>>>> >> >>> >>>> >>>>> >>>>>> >> >>> >>>> >>>>> >>>>>> >>>>>>> >> >>> >>>> >> >>> >>>> >>>>> >> >>> >>>> >>>>> >>>>>> >> >>> >>>> >>>>> >>>>>> >>>>>>> >> >>> >>>> >>>>> >>>>>> >>>>>>> >>>>>>>> error above. >> >>> >>>> >> >>> >>>> >>>>> >> >>> >>>> >>>>> >>>>>> >> >>> >>>> >> >>> >>>> >>>>> >> >>> >>>> >>>>> >>>>>> >> >>> >>>> >>>>> >>>>>> >>>>>>> >> >>> >>>> >> >>> >>>> >>>>> >> >>> >>>> >>>>> >>>>>> >> >>> >>>> >> >>> >>>> >>>>> >> >>> >>>> >>>>> >>>>>> >> >>> >>>> >>>>> >>>>>> >>>>>>> >> >>> >>>> >> >>> >>>> >>>>> >> >>> >>>> >>>>> >>>>>> >> >>> >>>> >>>>> >>>>>> >>>>>>> >> >>> >>>> >>>>> >>>>>> >>>>>>> >>>>>>>> >> >>> >>>> >> >>> >>>> >>>>> >> >>> >>>> >>>>> >>>>>> >> >>> >>>> >> >>> >>>> >>>>> >> >>> >>>> >>>>> >>>>>> >> >>> >>>> >>>>> >>>>>> >>>>>>> >> >>> >>>> >> >>> >>>> >>>>> >> >>> >>>> >>>>> >>>>>> >> >>> >>>> >> >>> >>>> >>>>> >> >>> >>>> >>>>> >>>>>> >> >>> >>>> >>>>> >>>>>> >>>>>>> >> >>> >>>> >> >>> >>>> >>>>> >> >>> >>>> >>>>> >>>>>> >> >>> >>>> >>>>> >>>>>> >>>>>>> >> >>> >>>> >>>>> >>>>>> >>>>>>> >>>>>>>> I'm grateful for any advice. >> >>> >>>> >> >>> >>>> >>>>> >> >>> >>>> >>>>> >>>>>> >> >>> >>>> >> >>> >>>> >>>>> >> >>> >>>> >>>>> >>>>>> >> >>> >>>> >>>>> >>>>>> >>>>>>> >> >>> >>>> >> >>> >>>> >>>>> >> >>> >>>> >>>>> >>>>>> >> >>> >>>> >> >>> >>>> >>>>> >> >>> >>>> >>>>> >>>>>> >> >>> >>>> >>>>> >>>>>> >>>>>>> >> >>> >>>> >> >>> >>>> >>>>> >> >>> >>>> >>>>> >>>>>> >> >>> >>>> >>>>> >>>>>> >>>>>>> >> >>> >>>> >>>>> >>>>>> >>>>>>> >>>>>>>> >> >>> >>>> >> >>> >>>> >>>>> >> >>> >>>> >>>>> >>>>>> >> >>> >>>> >> >>> >>>> >>>>> >> >>> >>>> >>>>> >>>>>> >> >>> >>>> >>>>> >>>>>> >>>>>>> >> >>> >>>> >> >>> >>>> >>>>> >> >>> >>>> >>>>> >>>>>> >> >>> >>>> >> >>> >>>> >>>>> >> >>> >>>> >>>>> >>>>>> >> >>> >>>> >>>>> >>>>>> >>>>>>> >> >>> >>>> >> >>> >>>> >>>>> >> >>> >>>> >>>>> >>>>>> >> >>> >>>> >>>>> >>>>>> >>>>>>> >> >>> >>>> >>>>> >>>>>> >>>>>>> >>>>>>>> Best regards, >> >>> >>>> >> >>> >>>> >>>>> >> >>> >>>> >>>>> >>>>>> >> >>> >>>> >> >>> >>>> >>>>> >> >>> >>>> >>>>> >>>>>> >> >>> >>>> >>>>> >>>>>> >>>>>>> >> >>> >>>> >> >>> >>>> >>>>> >> >>> >>>> >>>>> >>>>>> >> >>> >>>> >> >>> >>>> >>>>> >> >>> >>>> >>>>> >>>>>> >> >>> >>>> >>>>> >>>>>> >>>>>>> >> >>> >>>> >> >>> >>>> >>>>> >> >>> >>>> >>>>> >>>>>> >> >>> >>>> >>>>> >>>>>> >>>>>>> >> >>> >>>> >>>>> >>>>>> >>>>>>> >>>>>>>> Jacob Wallström >> >>> >>>> >> >>> >>>> >>>>> >> >>> >>>> >>>>> >>>>>> >> >>> >>>> >> >>> >>>> >>>>> >> >>> >>>> >>>>> >>>>>> >> >>> >>>> >>>>> >>>>>> >>>>>>> >> >>> >>>> >> >>> >>>> >>>>> >> >>> >>>> >>>>> >>>>>> >> >>> >>>> >> >>> >>>> >>>>> >> >>> >>>> >>>>> >>>>>> >> >>> >>>> >>>>> >>>>>> >>>>>>> >> >>> >>>> >> >>> >>>> >>>>> >> >>> >>>> >>>>> >>>>>> >> >>> >>>> >>>>> >>>>>> >>>>>>> >> >>> >>>> >>>>> >>>>>> >>>>>>> >>>>>>>> http://ghostparksoftware.com >> >>> >>>> >> >>> >>>> >>>>> >> >>> >>>> >>>>> >>>>>> >> >>> >>>> >> >>> >>>> >>>>> >> >>> >>>> >>>>> >>>>>> >> >>> >>>> >>>>> >>>>>> >>>>>>> >> >>> >>>> >> >>> >>>> >>>>> >> >>> >>>> >>>>> >>>>>> >> >>> >>>> >> >>> >>>> >>>>> >> >>> >>>> >>>>> >>>>>> >> >>> >>>> >>>>> >>>>>> >>>>>>> >> >>> >>>> >> >>> >>>> >>>>> >> >>> >>>> >>>>> >>>>>> >> >>> >>>> >>>>> >>>>>> >>>>>>> >> >>> >>>> >>>>> >>>>>> >>>>>>> >>>>>>>> >> >>> >>>> >> >>> >>>> >>>>> >> >>> >>>> >>>>> >>>>>> >> >>> >>>> >> >>> >>>> >>>>> >> >>> >>>> >>>>> >>>>>> >> >>> >>>> >>>>> >>>>>> >>>>>>> >> >>> >>>> >> >>> >>>> >>>>> >> >>> >>>> >>>>> >>>>>> >> >>> >>>> >> >>> >>>> >>>>> >> >>> >>>> >>>>> >>>>>> >> >>> >>>> >>>>> >>>>>> >>>>>>> >> >>> >>>> >> >>> >>>> >>>>> >> >>> >>>> >>>>> >>>>>> >> >>> >>>> >>>>> >>>>>> >>>>>>> >> >>> >>>> >>>>> >>>>>> >>>>>>> >>>>>>>> >> >>> >>>> >> >>> >>>> >>>>> >> >>> >>>> >>>>> >>>>>> >> >>> >>>> >> >>> >>>> >>>>> >> >>> >>>> >>>>> >>>>>> >> >>> >>>> >>>>> >>>>>> >>>>>>> >> >>> >>>> >> >>> >>>> >>>>> >> >>> >>>> >>>>> >>>>>> >> >>> >>>> >> >>> >>>> >>>>> >> >>> >>>> >>>>> >>>>>> >> >>> >>>> >>>>> >>>>>> >>>>>>> >> >>> >>>> >> >>> >>>> >>>>> >> >>> >>>> >>>>> >>>>>> >> >>> >>>> >>>>> >>>>>> >>>>>>> >> >>> >>>> >>>>> >>>>>> >>>>>>> >>>>>>>> _______________________________________________ >> >>> >>>> >> >>> >>>> >>>>> >> >>> >>>> >>>>> >>>>>> >> >>> >>>> >> >>> >>>> >>>>> >> >>> >>>> >>>>> >>>>>> >> >>> >>>> >>>>> >>>>>> >>>>>>> >> >>> >>>> >> >>> >>>> >>>>> >> >>> >>>> >>>>> >>>>>> >> >>> >>>> >> >>> >>>> >>>>> >> >>> >>>> >>>>> >>>>>> >> >>> >>>> >>>>> >>>>>> >>>>>>> >> >>> >>>> >> >>> >>>> >>>>> >> >>> >>>> >>>>> >>>>>> >> >>> >>>> >>>>> >>>>>> >>>>>>> >> >>> >>>> >>>>> >>>>>> >>>>>>> >>>>>>>> Rubycocoa-devel mailing list >> >>> >>>> >> >>> >>>> >>>>> >> >>> >>>> >>>>> >>>>>> >> >>> >>>> >> >>> >>>> >>>>> >> >>> >>>> >>>>> >>>>>> >> >>> >>>> >>>>> >>>>>> >>>>>>> >> >>> >>>> >> >>> >>>> >>>>> >> >>> >>>> >>>>> >>>>>> >> >>> >>>> >> >>> >>>> >>>>> >> >>> >>>> >>>>> >>>>>> >> >>> >>>> >>>>> >>>>>> >>>>>>> >> >>> >>>> >> >>> >>>> >>>>> >> >>> >>>> >>>>> >>>>>> >> >>> >>>> >>>>> >>>>>> >>>>>>> >> >>> >>>> >>>>> >>>>>> >>>>>>> >>>>>>>> Rubyc****@lists***** >> >>> >>>> >> >>> >>>> >>>>> >> >>> >>>> >>>>> >>>>>> >> >>> >>>> >> >>> >>>> >>>>> >> >>> >>>> >>>>> >>>>>> >> >>> >>>> >>>>> >>>>>> >>>>>>> >> >>> >>>> >> >>> >>>> >>>>> >> >>> >>>> >>>>> >>>>>> >> >>> >>>> >> >>> >>>> >>>>> >> >>> >>>> >>>>> >>>>>> >> >>> >>>> >>>>> >>>>>> >>>>>>> >> >>> >>>> >> >>> >>>> >>>>> >> >>> >>>> >>>>> >>>>>> >> >>> >>>> >>>>> >>>>>> >>>>>>> >> >>> >>>> >>>>> >>>>>> >>>>>>> >>>>>>>> http://lists.sourceforge.jp/mailman/listinfo/rubycocoa-devel >> >>> >>>> >> >>> >>>> >>>>> >> >>> >>>> >>>>> >>>>>> >> >>> >>>> >> >>> >>>> >>>>> >> >>> >>>> >>>>> >>>>>> >> >>> >>>> >>>>> >>>>>> >>>>>>> >> >>> >>>> >> >>> >>>> >>>>> >> >>> >>>> >>>>> >>>>>> >> >>> >>>> >> >>> >>>> >>>>> >> >>> >>>> >>>>> >>>>>> >> >>> >>>> >>>>> >>>>>> >>>>>>> _______________________________________________ >> >>> >>>> >> >>> >>>> >>>>> >> >>> >>>> >>>>> >>>>>> >> >>> >>>> >> >>> >>>> >>>>> >> >>> >>>> >>>>> >>>>>> >> >>> >>>> >>>>> >>>>>> >>>>>>> Rubycocoa-devel mailing list >> >>> >>>> >> >>> >>>> >>>>> >> >>> >>>> >>>>> >>>>>> >> >>> >>>> >> >>> >>>> >>>>> >> >>> >>>> >>>>> >>>>>> >> >>> >>>> >>>>> >>>>>> >>>>>>> Rubyc****@lists***** >> >>> >>>> >> >>> >>>> >>>>> >> >>> >>>> >>>>> >>>>>> >> >>> >>>> >> >>> >>>> >>>>> >> >>> >>>> >>>>> >>>>>> >> >>> >>>> >>>>> >>>>>> >>>>>>> http://lists.sourceforge.jp/mailman/listinfo/rubycocoa-devel >> >>> >>>> >> >>> >>>> >>>>> >> >>> >>>> >>>>> >>>>>> >> >>> >>>> >> >>> >>>> >>>>> >> >>> >>>> >>>>> >>>>>> _______________________________________________ >> >>> >>>> >> >>> >>>> >>>>> >> >>> >>>> >>>>> >>>>>> Rubycocoa-devel mailing list >> >>> >>>> >> >>> >>>> >>>>> >> >>> >>>> >>>>> >>>>>> Rubyc****@lists***** >> >>> >>>> >> >>> >>>> >>>>> >> >>> >>>> >>>>> >>>>>> http://lists.sourceforge.jp/mailman/listinfo/rubycocoa-devel >> >>> >>>> >> >>> >>>> >>>>> >> >>> >>>> >> >>> >>>> >>>>> _______________________________________________ >> >>> >>>> >> >>> >>>> >>>>> Rubycocoa-devel mailing list >> >>> >>>> >> >>> >>>> >>>>> Rubyc****@lists***** >> >>> >>>> >> >>> >>>> >>>>> http://lists.sourceforge.jp/mailman/listinfo/rubycocoa-devel >> >>> >>>> >> >>> >>>> _______________________________________________ >> >>> >>>> Rubycocoa-devel mailing list >> >>> >>>> Rubyc****@lists***** >> >>> >>>> http://lists.sourceforge.jp/mailman/listinfo/rubycocoa-devel >> >>> >>>> >> >>> _______________________________________________ >> >>> Rubycocoa-devel mailing list >> >>> Rubyc****@lists***** >> >>> http://lists.sourceforge.jp/mailman/listinfo/rubycocoa-devel >> >> _______________________________________________ >> Rubycocoa-devel mailing list >> Rubyc****@lists***** >> http://lists.sourceforge.jp/mailman/listinfo/rubycocoa-devel >> > _______________________________________________ > Rubycocoa-devel mailing list > Rubyc****@lists***** > http://lists.sourceforge.jp/mailman/listinfo/rubycocoa-devel